Render.ru

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

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#2
Задача не совсем тривиальная, нет готовенкой функции
Приготовить ее нужно будет самому
Алогоритм простой
объект 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
 
Сверху