相交多边形处理

时间:2014-02-07 22:43:32

标签: python processing grasshopper

我正在处理曲线的交叉点。我一开始尝试使用toxiclibs和hemesh库。但是经过很多错误我试着在蚱蜢中使用python编写一个简单的脚本。结果,我注意到数据树存在问题,由于我的编程技巧,我无法在处理中解决或简单解决。

长话短说,我有一系列多边形。当它们相交时,它们的角向下旋转90度。

简单,但在处理中编写脚本非常广泛。现在我在蚱蜢中有相当快的脚本。主要组件计算曲线之间的交叉点,返回数据树中的对角线。当我尝试使用动作和物理时,我看到我需要在处理中实现我的想法。因此,我想在处理中重写脚本......

以下是我正在研究的对角线(紫色) - > diagonal lines

intersection_lines

获取交集对角线的交集函数是用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脚本吗?如果没有,也许您在使用任何相关库进行处理时都有类似脚本的参考?

提前谢谢你, 彼得拉什。

0 个答案:

没有答案