chengw 发表于 2012-3-31 15:00:28

点 排序

我想问下,已知几个已知的点,如何进行顺/逆时针的方向排序

guohq 发表于 2012-3-31 17:29:54

做凸包运算

chengw 发表于 2012-4-5 15:47:23

guohq 发表于 2012-3-31 17:29 static/image/common/back.gif
做凸包运算

你能不能帮忙写个具体的方法啊?? 凸包运算我不是很熟,,,谢谢啊

chengw 发表于 2012-4-5 16:03:54

guohq 发表于 2012-3-31 17:29 static/image/common/back.gif
做凸包运算

大侠 帮帮忙、、

mkhsj928 发表于 2012-4-10 17:11:50

楼主,没限制条件达不到你想要的结果哦
凸包运算只能把边界找出来,凸包边界不一定包括你的所有点哈

傻不拉几的石头 发表于 2012-11-23 17:07:57

那如果是一般的四边形,五边形,比较正规的多变形呢?大侠们赐教哈~

傻不拉几的石头 发表于 2012-11-23 17:08:39

这些点能构成多边形,但是现在点在数组中,不是按照顺序的,怎么排序呀?

chpmould 发表于 2012-11-25 11:21:49

那就读数组排序

huaxiamengqing 发表于 2012-11-26 22:24:21

讲到时针肯定是平面咯,x,y 排序使用linq
r = from mpt in ptlist order by mpt.x,mpt.y select mpt
你研究过凸包排序吗?如果您研究肯定知道凸包排序的第一步是找出一条线将点分为上下两部分,那么对于上下两部分,您利用上面的代码即可排序,r即返回的点列表,Md 今天电脑真卡,给你发不了代码了- -

77077 发表于 2014-8-30 18:34:24

一大堆点lst以某个点P为中心顺时针排序,希望对你有用
(mapcar '(lambda(x) (cdr x)) (vl-sort (mapcar '(lambda(x y) (cons x y)) (mapcar '(lambda(x) (angle x p)) lst) lst) '(lambda (x y) (> (car x) (car y)))))
页: [1] 2
查看完整版本: 点 排序