Jak odwzorować kwadratową teksturę na trójkąt?


13

Chcę znaleźć współrzędne tekstury dla punktu P. Mam wierzchołki trójkąta i odpowiadające im współrzędne UV.

Liczby w małych kwadratach tekstury przedstawiają wartości kolorów.

Jakie są kroki obliczania współrzędnych UV dla P?

wprowadź opis zdjęcia tutaj


Istnieje transformacja afiniczna, która zamapuje każdy narożnik na jego współrzędną tekstury, możesz go użyć do mapowania P na jego UV.
maniak zapadkowy

@ratchetfreak czy możesz podać mi link plz?
John John

W tym artykule dobrze napisano, jak wykonać obliczenia punktu przecięcia, a także obliczenia sznurka baricentrycznego za jednym razem . Zasadniczo sprowadza się to do przekształcenia trójkąta.
joojaa

Odpowiedzi:


14

Osiąga się to poprzez interpolację barycentryczną .

P

ABPPBCPCA

wprowadź opis zdjęcia tutaj

APPBCABC

PAPBC

1

Metodą obliczania współrzędnych barycentrycznych jest:

BaryA=(ByCy)(PxCx)+(CxBx)(PyCy)(ByCy)(AxCx)+(CxBx)(AyCy)BaryB=(CyAy)(PxCx)+(AxCx)(PyCy)(ByCy)(AxCx)+(CxBx)(AyCy)BaryC=1BaryABaryB

Wyprowadzenie i rozumowanie wyjaśniono w artykule na Wikipedii .

P

Puv=BaryAAuv+BaryBBuv+BaryCCuv

Argumentacja została również bardzo ładnie wyjaśniona w tej prezentacji.

Zobacz także to pytanie, aby uzyskać skuteczne metody obliczeń.


BaryB(AyCy)

@joojaa Nie sądzę. Tak samo jest w artykule na Wikipedii i wydaje mi się poprawne z obliczeń testowych, które zrobiłem.
Rotem,

(AyCy)ACy=(AyCy)

1
P
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.