Bagaimana cara memetakan tekstur persegi ke segitiga?


13

Saya ingin mencari koordinat tekstur untuk titik P. Saya memiliki simpul segitiga dan koordinat uv yang sesuai.

Angka-angka dalam kotak kecil di tekstur mewakili nilai warna.

Apa langkah-langkah menghitung koordinat uv dari P?

masukkan deskripsi gambar di sini


Ada transformasi affine yang akan memetakan setiap sudut ke koordinat teksturnya, Anda dapat menggunakannya untuk memetakan P ke uv-nya.
ratchet freak

@ scratchetfreak dapatkah Anda memberi saya tautan?
john john

Ada tulisan yang bagus tentang bagaimana melakukan perhitungan titik persimpangan serta perhitungan kabel barycentric sekaligus dalam makalah ini . Ini pada dasarnya sama dengan mengubah segitiga.
joojaa

Jawaban:


14

Ini dicapai melalui Interpolasi Barycentric .

P

SEBUAHBPPBCPCSEBUAH

masukkan deskripsi gambar di sini

SEBUAHPPBCSEBUAHBC

PSEBUAHPBC

1

Metode untuk menghitung koordinat barycentric adalah:

BSebuahrySEBUAH=(By-Cy)(Px-Cx)+(Cx-Bx)(Py-Cy)(By-Cy)(SEBUAHx-Cx)+(Cx-Bx)(SEBUAHy-Cy)BSebuahryB=(Cy-SEBUAHy)(Px-Cx)+(SEBUAHx-Cx)(Py-Cy)(By-Cy)(SEBUAHx-Cx)+(Cx-Bx)(SEBUAHy-Cy)BSebuahryC=1-BSebuahrySEBUAH-BSebuahryB

Derivasi dan penalaran dijelaskan dalam artikel wikipedia .

P

Pkamuv=BSebuahrySEBUAHSEBUAHkamuv+BSebuahryBBkamuv+BSebuahryCCkamuv

Alasannya juga dijelaskan dengan sangat baik dalam presentasi ini .

Lihat juga pertanyaan ini untuk metode perhitungan yang efisien.


BSebuahryB(SEBUAHy-Cy)

@ joojaa kurasa tidak. Itu sama di artikel Wikipedia, dan sepertinya benar dari perhitungan pengujian yang saya lakukan.
Rotem

-(SEBUAHy-Cy)SEBUAHCy=(SEBUAHy-Cy)

1
P
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.