Как я могу сместить / утолщить / затвердеть 3D me sh in Python? - PullRequest
1 голос
/ 29 апреля 2020

Я ищу способ смещения TIN (триангулированной нерегулярной сети) me sh (например, ландшафта) на постоянное расстояние с помощью сценария Python. В прошлом я вызывал модификатор Blender's Solidify через API , который работает хорошо, но я хотел бы найти альтернативу, которая не требует Blender в качестве зависимости.

В настоящее время Я перебираю каждый треугольник, делаю копию каждой вершины и перемещаю их по нормали к поверхности их родительского треугольника на заданное расстояние. Когда одна и та же вершина появляется в нескольких треугольниках, я вычисляю смещение для каждой нормали и использую среднее значение. Затем я снова соединяю вершины, чтобы сделать смещение me sh.

Это выглядит нормально для небольших смещений, но острые элементы в me sh могут создавать самопересечения.

Есть ли какой-нибудь конкретный c алгоритм или библиотека, которая предлагает лучший способ?

До сих пор, кроме Blender, я нашел:

Но я не нашел много для Python, например, в Open3D или Trime sh.

...