- 3D-путь в качестве оси развертки
- 2D-прямоугольная форма
- 3D-путь — это настоящий трехмерный путь, что означает, что каждая координата изменяется в пространстве; он не содержится в одной плоскости.
- верхний и нижний края прямоугольника всегда должны быть горизонтальными (это означает, что не происходит крена, т. е. нет вращения фигуры во время развертки). вдоль 3D-оси)
- 3D-путь всегда проходит перпендикулярно через центр прямоугольника
Мы можем рассматривать 3D-траекторию как состоит только из прямых сегментов (без кривых). Это означает, что два сегмента 3D-оси встречаются под углом, т. е. что производная в этой точке не является непрерывной. Полученная 3D-сетка не должна иметь дыр в этих местах. Следовательно, «стиль 3D-соединения» должен определяться с использованием заданного стиля заглушки (например, как описано здесь для двух измерений).
3D-путь задается в виде цифрового 3D-массива следующим образом:
Код: Выделить всё
import numpy as np
path = np.array([
[ 5.6, 10.1, 3.3],
[ 5.6, 12.4, 9.7],
[10.2, 27.7, 17.1],
[25.3, 34.5, 19.2],
[55. , 28.3, 18.9],
[80.3, 24.5, 15.4]
])
Код: Выделить всё
from shapely.geometry import Polygon
polygon = Polygon([[0, 0],[1.2, 0], [1.2, 0.8], [0, 0.8], [0, 0]])
В настоящее время я пробую Trimesh 4.2.3 (доступен Numpy 1.26.4), используя swap_polygon< /code> но безуспешно, потому что каждый раз, когда прямоугольнику приходится менять направление, он также вращается вокруг оси, перпендикулярной плоскости, определенной двумя краями, встречающимися в той вершине, где меняется направление, нарушая второе ограничение выше. p>
Код: Выделить всё
import numpy as np
from shapely.geometry import Polygon
from trimesh.creation import sweep_polygon
polygon = Polygon([[0, 0],[1.2, 0], [1.2, 0.8], [0, 0.8], [0, 0]])
path = np.array([
[ 5.6, 10.1, 3.3],
[ 5.6, 12.4, 9.7],
[10.2, 27.7, 17.1],
[25.3, 34.5, 19.2],
[55. , 28.3, 18.9],
[80.3, 24.5, 15.4]
])
mesh = sweep_polygon(polygon, path)
Плохо справляется с резкой кривизной.< /p>
что немного неясно.

Сетка визуализируется в Meshlab. Наклон фигуры хорошо виден, когда она поднимается вправо.
Конечная цель — запустить ее в контейнере Docker на автономном сервере.
Подробнее здесь: https://stackoverflow.com/questions/782 ... -in-python
Мобильная версия