gh自带的三个生成切线的工具只适用circle,如果是一条曲线怎么连切线?
目前能想到的笨方法是曲线上生成点,再与外点连线的方式来找,有没有更简便的方式?
如下图所示
谢谢了
提供一个参考,利用 Galapagos 来反求,
关于 Galapagos 的使用方法请参考
http://docs.rhino3d.com.cn/gh/Params/75
参考范例 LineTangent.zip|attachment - 解压密码 [rhino3d.com.cn] (8.7 KB)
给楼主提供一个手工迭代的办法
目前是5次迭代,每次迭代细分20
取最小值的相邻两段进行下一次迭代,因此实际上细分数是10
迭代次数可以根据你要求的精度调节
一连串的cluster也可以打包为新的单独cluster
简单写了个脚本
曲线外一点求切线.gh (3.9 KB)
因为经过曲线外一点在曲线上可能有无数条切线,所以这个脚本里 rpt 的位置决定了靠近哪个位置画切线。 rpt 的位置不同,得到的切线位置也不同。
谢谢 Jessen老师,
怕狗屎确实可以,但放在算法里不太合适,需要手动。
再次感谢提供思路
推荐 Jorin 的方法,更加合理且直观
我提供的例子只适合存在一个波峰波谷的情况
其他情况的话,会比较复杂。
你应该思考下,任意一个点到直线/多重直线一定能算出切线吗?
polyline肯定不行, fit之后应该是可以的,
若存在多个小波峰又会影响其唯一性,
目前可以通过subcurve来前置选择好区间,或者重建曲线令小波峰消失的方式来配合解决。
谢谢提点