Render.ru

Поворот объекта относительно произвольной точки

Рейтинг
31
#1
Как скриптом повернуть объект относительно заданной точки на заданный угол?
Работа скрипта не должна зависеть от текущего состояния Макса (состояния Reference Coordinate System, Use Center Flyout и т.п.).
Точка поворота задана значением point3, угол задан значением eulerangles.
 
Рейтинг
31
#3
2Savin Denis: Думаешь я не читал?...

Здесь ключевой момент: относительно заданной точки. Выражение типа rotate $ (eulerangles 0 0 30) поворачивает объект относительно его пивота, а мне нужно относительно заданной точки. Например, есть $Rectangle01 длиной 20 и шириной 80; $Rectangle01.pos (т.е. координаты пивота) равен [100,40,0]; нужно повернуть этот прямоугольник относительно его нижнего левого угла с координатами [60,30,0] на 30 градусов. Как это сделать скриптом? Вопрос принципиальный, поскольку я с поворотами в MaxScript много чего не догоняю. Хочется разобраться.
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#4
Воспользуйся контекстом about
хотя мог и через Coordsys сделать.
 
Рейтинг
31
#5
2Savin Denis:
Спасибо за ответ. На счет about вчера сам допер (случайно). А вот с coordsys у меня что-то не получилось. У меня такое впечатление, что coordsys подменяет систему координат на указанную, но привязывает ее к мировому нулю, т.е. начало заданной системы координат совпадает с началом мировой системы.
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#6
Да извини глянул действительно по умолчанию берется локальный цент, без about не обойдется.
 
Сверху