Come mappare la trama quadrata sul triangolo?


13

Voglio trovare le coordinate della trama per il punto P. Ho i vertici del triangolo e le corrispondenti coordinate uv.

I numeri nei quadratini nella trama rappresentano i valori di colore.

Quali sono i passaggi per calcolare le coordinate uv di P?

inserisci qui la descrizione dell'immagine


C'è una trasformazione affine che mapperà ogni angolo sulla sua coordinata di trama, puoi usarlo per mappare P sul suo uv.
— maniaco del cricchetto

@ratchetfreak potresti fornirmi un link per favore?
— john john

C'è una buona scrittura fino su come fare il calcolo punto di intersezione così come il calcolo cavo baricentrico in una sola volta in questo documento . Ciò equivale essenzialmente a trasformare il triangolo.
— joojaa,

Risposte:


14

Ciò si ottiene tramite l' interpolazione baricentrica .

P

ABPPBCPCA

inserisci qui la descrizione dell'immagine

APPBCABC

PAPBC

1

Il metodo per calcolare le coordinate baricentriche è:

BaryA=(By−Cy)(Px−Cx)+(Cx−Bx)(Py−Cy)(By−Cy)(Ax−Cx)+(Cx−Bx)(Ay−Cy)BaryB=(Cy−Ay)(Px−Cx)+(Ax−Cx)(Py−Cy)(By−Cy)(Ax−Cx)+(Cx−Bx)(Ay−Cy)BaryC=1−BaryA−BaryB

La derivazione e il ragionamento sono spiegati nell'articolo di Wikipedia .

P

Puv=BaryA⋅Auv+BaryB⋅Buv+BaryC⋅Cuv

Il ragionamento è anche spiegato molto bene in questa presentazione.

Vedi anche questa domanda per metodi di calcolo efficienti.


BaryB(Ay−Cy)

@joojaa Non la penso così. È lo stesso nell'articolo di Wikipedia e sembra corretto da un calcolo di prova che ho fatto.
— Rotem,

−(Ay−Cy)ACy=(Ay−Cy)

1
P
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.