正方形のテクスチャを三角形にマッピングする方法は?


13

ポイントPのテクスチャ座標を見つけたいです。三角形の頂点と対応するuv座標があります。

テクスチャの小さな正方形の数字は色の値を表します。

PのUV座標を計算する手順は何ですか?

ここに画像の説明を入力してください


各コーナーをテクスチャ座標にマッピングするアフィン変換があります。これを使用してPをそのUVにマッピングできます。
ラチェットフリーク

@ratchetfreakは私にリンクプラザを提供できますか?
ジョンジョン

この論文では、交点計算と重心コード計算を一度に行う方法についての良い記事があります。これは本質的に三角形の変形に相当します。
-joojaa

回答:


14

これは、Barycentric Interpolationを介して実現されます。

まず、の重心座標を見つけます。重心座標は、各頂点がポイントに寄与する重みを表し、三角形の面全体の頂点で既知の値を補間するために使用できます。P

3つの内側の三角形P B CおよびP C Aを考えます。ABPPBCPCA

ここに画像の説明を入力してください

P上の頂点の重心座標または重みは、三角形A B C全体の面積に対する内部三角形P B Cの面積の比率に比例すると言うことができます。APPBCABC

これは、Aに近づくにつれて三角形P B Cが大きくなり、他の2つが小さくなることを考えると、直感的に明らかです。PAPBC

1

重心座標の計算方法は次のとおりです。

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

派生と推論は、ウィキペディアの記事で説明されています

P

Puv=BaryAAuv+BaryBBuv+BaryCCuv

推論もこのプレゼンテーションで非常にうまく説明されています。

効率的な計算方法については、この質問も参照してください。


BaryB(AyCy)

@joojaaそうは思いません。ウィキペディアの記事でも同じですが、私が行ったテスト計算からは正しいようです。
ロテム

(AyCy)ACy=(AyCy)

1
P
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.