![a9400f8341158cb329f46045236b2037.png](https://i-blog.csdnimg.cn/blog_migrate/41a0c1e937decd74269bdfbda75e6286.jpeg)
昨天群里有个小伙伴问到一个问题,怎么用多段圆弧拟合一条自由曲线,这其实是原厂基础课里的一个小例子,咱们今儿再来看看,其实这个例子的思路还是很值的学习的,从问题本身入手,一步一步突破,这也是grasshopper最接地气的解决问题方式,另外感觉这种需求也是很常见的,毕竟自由曲线虽然好看,但是不适合建造啊。
就该问题有四种解决方案:
1.最简单的思路是在曲线上提取点,根据三点绘制圆弧,来得到拟合曲线的多段圆弧,先对曲线进行等分,注意这里的等分数乘以了2,然后以乘以2之前的等分数为数量,2为公差得到等差数列,这样就得到0,2,4……依此类推的列表,而我们最终要提取的点是(0,1,2)、(2,3,4)、(4,5,6)……三三分组,所以这里用consecutive domain来将列表转换为区间,0-2,2-4,4-6,因为不需要累加,所以A段需要设置为False,然后根据子区间去提取对应的等分点,就得到了每组三个点的树形数据,然后以三点绘制圆弧,最后对圆弧端点进行点标注,圆弧段进行着色,可以清晰看到圆弧的连接;