GHPython функция фон Кох ОШИБКА на Кузнечика
Впервые я использую Python Script на Grasshopper. Я не могу найти, где мои ошибки. Я почти в конце, но теперь у меня есть это сообщение об ошибке. Может ли кто-нибудь помочь мне найти ошибку?
import rhinoscriptsyntax as rs
def koch(v1,v2) :
dist=rs.Distance(v1,v2)
p1=v2-v1
p1=rs.VectorUnitize(p1)
p1*=dist*dist1
p1+=v1
p2=v2-v1
cross=v2-v1
cross=rs.VectorUnitize(cross)
cross=rs.VectorRotate(cross, 90, (0,0,1))
cross*=dist*dist4
p2=rs.VectorUnitize(p2)
p2*=dist*dist2
p2+=v1+cross
p3=v2-v1
p3=rs.VectorUnitize(p3)
p3*=dist*dist3
p3+=v1
return (v1,p1,p2,p3,v2)
def recursive(v1,v2,gens, lineList):
if(gens>0):
newPts = koch(v1,v2)
l = rs.AddPolyline([newPts(0),newPts(1),newPts(2),newPts(3),newPts(4)])
lineList.append(l)
recursive(v1,newPts(0),gens-1)
return lineList
allLines=()
a=recursive(pt1,pt2,2,allLines)
1 ответ
Ваша линия l = rs.AddPolyline([newPts(0), newPts(1), newPts(2), newPts(3), newPts(4)])
это неверно.
Доступ к элементу в кортеже требует квадратных скобок. Заменить следующей строкой:
l = rs.AddPolyline([newPts[0], newPts[1], newPts[2], newPts[3], newPts[4]])