登录学犀牛中文网更精彩
手机短信,快捷登录
微信登录,快人一步
只需一步,快速开始
发布于 2022-5-16 6 点赞 1 评论 1502 浏览
罗谦
设计助理
本版积分规则 回复 回帖并转播 回帖后跳转到最后一页
文明上网理性发言、请文明用语
举报
4 章节 | 6 课时 | 14546 人气
11 章节 | 52 课时 | 27177 人气
28 章节 | 410 课时 | 450446 人气
16 章节 | 177 课时 | 78865 人气
11 章节 | 88 课时 | 197314 人气
那么要做的就是排序,但若干个点的自动排序,如果基于两个最近点逐一排列的话,基本上是要用到循环插件,或者有些插件里面会有这种排序功能的电池;如果不会用循环,或者不想用插件,并且点不是特别特别多的情况下,可以取巧沿着你想要的效果简单地画个线,然后SortAlongCurve一下。
如果用插件的话,需要理清循环结构和逻辑,比如这样:
应该挺明显吧?序号是用来表示确实是人为打乱了原本有序的点,按顺序连线的结果显示也确实被正确排序了。
后面的循环逻辑是先排除某个点(后面再加进来),计算出它除了自身外最近的一个点,然后再以这个点为基础,将自身和前一个点排除掉后再找到最近的一个点,继续向后循环,次数为第一次用来计算并排除2个点后的点云数,于是最后得到了一组有序的点。
如果需要自定义顺序,再接个ShiftList并且允许Wrap即可。
这个时候后面再接Line就行了。
但程序其实都有原本的目的和针对性,也就是说必须要有先决条件然后才有一个清晰的逻辑,如果这个先决条件变了,那么采用的逻辑也要对应变化才能得到想要的结果,比如下面的情况(用的也是上面这个循环):
逻辑上它是对的,按照最近点排序,然后弄出一条线,但从结果上来说可能不是我们想要的(比如不想要自交之类的)。
想要找一个适用于任何条件下的万用程序基本上不太可能,因为任何程序一定都是基于你想要完成什么样的目标这样的动机,并且限定在一定范围内或者某些条件下的。
举报