我们今天讲解grasshopper的课程,是关于点的操作的。这些操作包括计算点距离、删除点、投影点和整理点编号。这些操作模块在我们设计点云的时候是非常有用的。
Closest Point:寻找点与里面距离基准点最近的点。
算法看下图,基准点是一个点,点云是多个点。
P端口输出的是点云的点,I端口输出该点在点云所在的位置,低端口输出该点和基准点的距离。
Closest Points: 这个运算器是上一个运算器的复数版本。
Cull Duplicates:删除重复点。
这个运算器我们在grasshopper的设计中会经常会用到,当有些点重复出现了,但我们要把它删掉的时候,就会用到这个运算器。
在下图的算法中,我们可以看到t值控制要删除点的距离容差值。本实例的容差值等于3.17,意思是当间距小于3.17的点会被融合成一个点,我们可以看到原来有22个点经过删除重复点之后只剩下17个点了。
Point Groups: 按照设定距离给点分组,这个运算机会计算每个点之间的距离,把距离小于设定的距离的点分成一个组。
Project Point:投影点到一个物体上。
投影的物体可以是线或者面或者平面。
投影之前要设定方向。
Pull Point: 投影点到物体上。
这和上个运算器功能上基本上一样的,稍微简化了操作,它不需要指定方向,就可以投影到物体上。
Sort Along Curve:按照曲线的轨迹排列点的顺序。
在下图中我们给出的点的序列号都是杂乱无章的。如果我们要用这些点来生成一条曲线,它必然产生一条混乱的曲线。
我们用下面这个算法,那就可以把一些杂乱的点规整。
C端口输入一条曲线,这条直线只要大致上穿过点云就可以了。
那么在下图中我们看到这条曲线穿过点云之后,点也跟随曲线的方向进行了重新编号。
Sort Points:重新整理点的编号。
这个运算器不需要输入整理的曲线和方向就连自动整理点的编号。它是按照xyz三个坐标从小到大排列的。
下图是整理点之后的效果。