1

我正在处理曲线的交点。我一开始尝试了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脚本吗?如果没有,也许您在使用任何相关库进行处理时有类似脚本的参考?

提前谢谢你,佩特拉斯。

4

0 回答 0