Показать сообщение отдельно
Старый 31.01.2012, 19:03   #2
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Точки на меше по UV

первое, что пришло в голову:
- перебираем все треугольники.
- проверяем, находится ли UV-точка в треугольнике = находится ли 2д точка с координатами (U,V) с одной и той же стороны всех ребёр треугольника, заданного UV его вертексов, но лучше через барицентрические координаты: http://www.blackpawn.com/texts/pointinpoly/default.html
- если находится: на той же странице есть формула:
P = A + u * (C - A) + v * (B - A)
где ABC коорды треугольниковых точек, P - искомая точка.
по идее подставив мировые позиции ABC, получишь мировую позицию внутритреугольниковых UV.

вот ещё хорошая инфа по барицентрическим:
http://classes.soe.ucsc.edu/cmps160/...erpolation.pdf
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
Gector (31.01.2012), HolyDel (31.01.2012), Lestar (31.01.2012), pax (31.01.2012)