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

Масштабирование face в полигоне.

Тема в разделе "MAXScript", создана пользователем Артём Ягодин, 12 дек 2006.

Модераторы: Savin Denis
  1. Артём Ягодин

    Артём Ягодин Активный участник

    С нами с:
    17.10.2006
    Сообщения:
    191
    Симпатии:
    0
    Баллы:
    11
    Пожалуйста подскажите.
    Как масштабировать Face в полигоне (Editable Poly(!)) средствами MaxScript.
     
  2. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Задача не совсем тривиальная, нет готовенкой функции
    Приготовить ее нужно будет самому
    Алогоритм простой
    объект obj = ...
    на входе индекс полигона face,
    величена scale = 1.0 (1 = 100%)
    fn polyFaceScale obj face scale = (
    1. находиш центр полигона или просто береш любую точку относительно которой хочеш маштабировать (Vc)
    2. получаеш массив индексов точек этого полигона Vind = #()
    3. Цикл по массив индексов точек for n in Vind do ( -- ...
    5. Получаеш координаты точки по ее идексу Vn = polyOp.getVert obj n
    4. после чего находиш вектор от этого центра к точке полигона Vvec = (Vn - Vc)
    5. нормализуеш его и домножаеш на масштаб scale. Vm = (normalize Vvec) * scale
    6. сдвигаеш точку polyOp.moveVert obj #(n) Vm
    7. повторяеш для всех точек полигона в цикле
    ) -- End For
    ) -- End Fn

    Вот и все.

    PS все остальные функции найдеш в методах PolyOp
     
  3. Артём Ягодин

    Артём Ягодин Активный участник

    С нами с:
    17.10.2006
    Сообщения:
    191
    Симпатии:
    0
    Баллы:
    11
Модераторы: Savin Denis

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