Подсчитать самопересечение для кривой Grasshopper/Python

Я пытаюсь найти количество вхождений самопересечений для кривой в Grasshopper, но я не понимаю, почему некоторые точки не учитываются в моем списке событий.

Я использовал Curve|Self (CX), чтобы найти пересечения, а затем count() в Python.

Например, точки "2", "15" и "37" одинаковы, но питон находит 1 вхождение для точки 2 и два вхождения для 15 и 37 (а не 3 для трех точек!). Вы знаете эту проблему? Как мне найти самопересечение кривой и правого вхождения с помощью Grasshopper и / или Python?

Спасибо

1 ответ

import Rhino.Geometry.Intersect as its

a = []
itsevents = its.Intersection.CurveSelf(x, 0.01)
for event in itsevents:
    a.append(event.PointA)
print len(a)

посмотрите на этот скриншот, и это будет иметь больше смысла

не забудьте установить свой тип ввода x на Curve

Другие вопросы по тегам