Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: UVlayout
Форум .:3DCenter.ru:. > Пакеты 3D моделирования > Maya > MEL
Norn
Добрый день.
Очень часто в майке возникает следующая необходимость. Есть UVshell, который стоит "криво". Т.е. наклонен. Необходимо выровнять его по вертикали либо по горизонтали, не важно. Каждый раз приходиться выбирать его, и доворачивать на необходимое число градусов, что он стал "прямо". Хочу этот процесса автоматизировать.
"прямо" это когда ширина BoundingBox'а этого UVShell'a минимальная.
Но как написать на Mel'е не могу понять, хотя в меле понимаю.
Прилагаю картинку.

Может быть есть уже какой-то скрипт на эту тему?

Спасибо.


Нажмите для просмотра прикрепленного файла
-Shadow-
Цитата
Может быть есть уже какой-то скрипт на эту тему?

вроде твой случай sdv_xformUV 2.7.0
Misst
mel конечно хорошо, но это скорее численные методы, а мел лишь инструмент решения)
формализация Вашей задачи:
есть набор точек (u,v) на плоскости.
width_bbox = max(u) - min(u).
Это величина, которую нужно минимизировать.
Что меняем? угол , на который вращаем весь shell.
Куда переходит точка (u,v) при повороте вокруг (0, 0) на угол alpha?
(u_new, v_new) = R*(u, v), где R - матрица поворота,
( cos(alpha) sin(alpha)
-sin(alpha) cos(alpha))
Таким образом,
u_new = cos(alpha)*u + sin(alpha)*v
v_new = -sin(alpha)*u + cos(alpha)*v
Итого, задача :
найти alpha, при котором
достигается минимум функции max(u_new) - min(u_new),
т.е. производная равна нулю. поскольку задача аналитически не решается, нужно воспользоваться численным методом решения.
вот, как-то так, я думаю..

поэтому если не хочется сидеть с математикой, лучше воспользоваться чудесными готовыми скриптами)

upd - может там все и сложнее, с этим минимумом от (максимум минус минимума). надо еще подумать немного.
[Vitus]
Здесь есть полное решение для трёхмерного случая. Правда писал на maxscript, но понять можно. Смысл в том что через метод Якоби находится матрица минимального бокса, ну а дальше уже легко. Для двадэ то-же самое, только ещё проще.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.