凸包的测试用例数据
我需要为类作业创建一个 2D 凸包函数,并且我想要一个比作业提供的更强大的测试用例。 有谁知道解决方案的大型测试用例(25 < n < 100)?
I need to make a 2D convex hull function for a class assignment and I want a more robust test cases than the assignment provides. Does anyone known of a largish test cases (25 < n < 100) with the solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是更多测试数据:
这是一些测试数据:
测试 1
8
7 7 7 -7 -7 -7 -7 7 9 0 -9 0 0 9 0 -9
测试 2
16
7 7 7 -7 -7 -7 -7 7 9 0 -9 0 0 9 0 -9
0 0 1 2 -2 1 -1 -1 3 4 4 3 -5 4 6 5
测试 3
72
0 0 1 2 -2 1 -1 -1 3 4 4 3 -5 4 6 5
7 7 7 -7 -7 -7 -7 7 9 0 -9 0 0 9 0 -9
-8 0 8 0 -7 0 7 0 -6 0 6 0 -5 0 5 0
-4 0 4 0 -3 0 3 0 -2 0 2 0 -1 0 1 0
0 -8 0 8 0 -7 0 7 0 -6 0 6 0 -5 0 5
0 -4 0 4 0 -3 0 3 0 -2 0 2 0 -1 0 1
1 1 2 2 3 3 4 4 5 5 6 6
1 -1 2 -2 3 -3 4 -4 5 -5 6 -6
-1 1 -2 2 -3 3 -4 4 -5 5 -6 6
-1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6
所有答案都相同:
8
(0, -9) (7, -7) (9, 0) (7, 7)
(0, 9) (-7, 7) (-9, 0) (-7, -7)
Here's some more test data:
Here's some test data:
Test 1
8
7 7 7 -7 -7 -7 -7 7 9 0 -9 0 0 9 0 -9
Test 2
16
7 7 7 -7 -7 -7 -7 7 9 0 -9 0 0 9 0 -9
0 0 1 2 -2 1 -1 -1 3 4 4 3 -5 4 6 5
Test 3
72
0 0 1 2 -2 1 -1 -1 3 4 4 3 -5 4 6 5
7 7 7 -7 -7 -7 -7 7 9 0 -9 0 0 9 0 -9
-8 0 8 0 -7 0 7 0 -6 0 6 0 -5 0 5 0
-4 0 4 0 -3 0 3 0 -2 0 2 0 -1 0 1 0
0 -8 0 8 0 -7 0 7 0 -6 0 6 0 -5 0 5
0 -4 0 4 0 -3 0 3 0 -2 0 2 0 -1 0 1
1 1 2 2 3 3 4 4 5 5 6 6
1 -1 2 -2 3 -3 4 -4 5 -5 6 -6
-1 1 -2 2 -3 3 -4 4 -5 5 -6 6
-1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6
All answers are the same:
8
(0, -9) (7, -7) (9, 0) (7, 7)
(0, 9) (-7, 7) (-9, 0) (-7, -7)
Qhull 包,包括
qhull
、qconvex
、和 rbox 应该可以解决这个问题(我自己就用它们来达到这个目的)。 例如, qconvex 示例页面给出以下内容(针对更大的测试用例进行了调整) :上面计算了 100 个随机点的 3-d 凸包,将摘要写入控制台,并将点和面写入“结果”。
下面是一个用于查找 40 个点的 3-d 凸包的示例测试用例。 要点是:
凸包由以下点组成:
这是一个 2D 测试用例。 要点:
船体:
The Qhull package, including
qhull
,qconvex
, andrbox
should do the trick (I've used them for this exact purpose myself). For example, the qconvex examples page gives the following (tweaked for a larger test case):The above computes the 3-d convex hull of 100 random points, writes a summary to the console, and writes the points and facets to 'result'.
Here's a sample test case for finding the 3-d convex hull of 40 points. The points are:
The convex hull is composed of the following points:
Here's a 2D test case. Points:
Hull: