Перенос, поворот и другие преобразования
Last updated
Last updated
Определенные геометрические объекты можно создавать путем непосредственного указания их координат по осям X, Y и Z в трехмерном пространстве. Однако в большинстве случаев итоговое положение геометрии задается путем преобразований, применяемых либо к самому объекту, либо к его базовой системе координат (CoordinateSystem).
Простейшим геометрическим преобразованием является перенос, в результате которого объект перемещается на заданное число делений вдоль осей X, Y и Z.
Любой объект в Dynamo можно перенести, просто добавив метод .Translate после имени объекта, однако более сложные преобразования требуют изменения базовой системы координат объекта (CoordinateSystem). Например, чтобы повернуть объект на 45 градусов вокруг оси X, потребуется заменить существующую систему координат (без поворота) на систему координат, повернутую на 45 градусов вокруг оси X с помощью метода .Transform.
Помимо операций переноса и поворота к объектам CoordinateSystem также можно применять операции масштабирования и сдвига. Для масштабирования объектов CoordinateSystem используется метод .Scale.
Для сдвига объекта CoordinateSystem используется конструктор CoordinateSystem, в который нужно ввести неортогональные векторы.
По сравнению с поворотом и переносом операции масштабирования и сдвига являются более сложными и поддерживаются не всеми объектами Dynamo. Объекты Dynamo, которые поддерживают операции изменения масштаба и сдвига системы координат, перечислены в следующей таблице.
Класс | Объект CoordinateSystem с измененным масштабом | Объект CoordinateSystem со сдвигом |
---|---|---|
Дуга | Нет | Нет |
Объект NurbsCurve | Да | Да |
Объект NurbsSurface | Нет | Нет |
Окружность | Нет | Нет |
Отрезок | Да | Да |
Плоскость | Нет | Нет |
Точка | Да | Да |
Полигон | Нет | Нет |
Тело | Нет | Нет |
Поверхность | Нет | Нет |
Текст | Нет | Нет |