1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

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

Тема в разделе "MAXScript", создана пользователем Black Sphinx, 1 июл 2009.

Модераторы: Savin Denis
  1. Black Sphinx

    Black Sphinx Знаток

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

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Почитай главу "Applying Standard Transformations"
     
  3. Black Sphinx

    Black Sphinx Знаток

    С нами с:
    05.09.2003
    Сообщения:
    234
    Симпатии:
    1
    Баллы:
    29
    2Savin Denis: Думаешь я не читал?...

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

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Воспользуйся контекстом about
    хотя мог и через Coordsys сделать.
     
  5. Black Sphinx

    Black Sphinx Знаток

    С нами с:
    05.09.2003
    Сообщения:
    234
    Симпатии:
    1
    Баллы:
    29
    2Savin Denis:
    Спасибо за ответ. На счет about вчера сам допер (случайно). А вот с coordsys у меня что-то не получилось. У меня такое впечатление, что coordsys подменяет систему координат на указанную, но привязывает ее к мировому нулю, т.е. начало заданной системы координат совпадает с началом мировой системы.
     
  6. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Да извини глянул действительно по умолчанию берется локальный цент, без about не обойдется.
     
Модераторы: Savin Denis

Поделиться этой страницей