最后一个问题(希望是):图形算法(98分)

  • 主题发起人 主题发起人 Beautygirl
  • 开始时间 开始时间
B

Beautygirl

Unregistered / Unconfirmed
GUEST, unregistred user!
在平面上有十几个点(已知x、y坐标),用什么算法或者排序将他们连成一个闭合图形。只剩98分了[:)]。
 
提供个建议:

选定一点, 然后在所有点中找距离自己最近的, 然后连接到最近的点, 然后用该点找距离自己最近的(除去刚才和它连接的), 依次..到最后一个点时.连接第一个点....
 
To duhai_lee:
这个方法有点不合适,因为最近的点不一定是最外的点,而且可能有两个或者三个点距离都相同呢?
 
老大,给你一个建议:
1、任意选择一个X坐标最小的点A
2、给剩余的节点分区,任选一个方向,以下仅考虑逆时针,顺时针自己考虑
3、存在正下方的节点,选择最上边的节点,跳转到2
4、存在右下,选择最左边的节点,跳转到2
5、存在右节点,选择并跳转到2
6、存在右上,选择下边的节点,跳转到2
7、存在左上,选择右边的节点,跳转到2
8、连接节点A,完成
 
hityou在吗?你有没有好办法?
 
答案不唯一,不能画
比如如下五个点,可以画出好多多边形
A A
A
A A
 
to dey-999:
A点的逆时针方向的下一个节点也可能和A点在一条直线上呢?
 
你应该把问题限制的更严格一些
 
假如中间没点呢
A1 A2
A3 A4
A5 A6
假如是这样的呢?
 
老大,你继续深入的考虑好不好,这只是一部分可能,你需要加入更详细的判断,你不会需要我给你完成吧大哥,继续,希望你能够独自完成,会有很大提高的
 
dey-999,对不起,我是大姐
 
你不会要全部连接起来吧,另外,做好了给我发一份好吗,你的目的是干什么啊
 
to dey-999:
好啊
 
倒!你漂亮吗,嘿嘿。。。
 
嘻嘻,这个你就不用知道了吧
 
你是要全部连接起来吗
 
你的态度很不好,哼哼,后果很严重
 
嘻嘻,对不起了阿,我在忙呢,不理你了
 
全部连接的话,还应该有更多规则吧,否则的话,那岂不是答案太多了!
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
841
SUNSTONE的Delphi笔记
S
S
回复
0
查看
821
SUNSTONE的Delphi笔记
S
后退
顶部