我正在处理曲线的交点。我一开始尝试了toxiclibs 和 hemesh 库。但是在经历了很多错误之后,我尝试在蚱蜢中使用 python 编写一个简单的脚本。结果,我注意到数据树存在问题,由于我的编程技能,我无法通过处理或简单解决。
长话短说,我有一组多边形。当它们相交时,它们的角向下旋转 90 度。
在处理中编写脚本简单但广泛。现在我在蚱蜢中有相当快的脚本。主要组件计算曲线之间的交点,并返回数据树中的对角线。当我尝试玩运动和物理时,我发现我需要在处理中实现我的想法。结果,我想重写处理中的脚本......
这是我正在处理的对角线(紫色)->对角线
交叉线
获取交叉对角线的交叉函数是用python编写的:
import ghpythonlib.components as ghcomp
import rhinoscriptsyntax as rs
def ctr(crv):
pts = ghcomp.Explode(crv)[1] //polygons are exploded into segmens
pts = ghcomp.CullDuplicates(pts,0.001)[0] //duplicate lines are deleted
return ghcomp.Average(pts)
pts = []
lines = []
ctr_c1 = ctr(C1)
for crv in C2:
if ctr(crv) != ctr_c1:
int = ghcomp.CurveXCurve(C1, crv)[0] //intersection of curves is calculated
if int:
[pts.append(x) for x in int]
lines.append(rs.AddLine(int[0],int[1]))
该脚本返回数据树中相交曲线的对角线。通过数据树,我的意思是图片中有 15 个多边形。并且脚本返回输出,说明第一条曲线有 2 个对象作为线,第二条曲线有 3 个对象作为线,第三条曲线有 1 个对象作为线,依此类推。每个多边形都与交叉对角线相关联。
你能帮我在处理过程中重写这个python脚本吗?如果没有,也许您在使用任何相关库进行处理时有类似脚本的参考?
提前谢谢你,佩特拉斯。