4

SVG仕様によれば、任意の2x3変換行列を任意の要素に適用できます。

http://www.w3.org/TR/SVG/coords.html#TransformAttribute

この方法を利用して、SVGの画像に3Dプロスペクティブ投影を適用し、平面画像の3D投影を模倣したいと思います。

私はjavascriptでマトリックス計算を使用して、3Dモデル空間座標(x、y、z)から2D画像空間座標(x'、y')への変換と投影を適用しています。しかし、SVGの画像またはテキストに投影を適用するには、3D行列を2D変換行列に投影する必要があります。

画像が3Dモデル空間の任意の平面上にあり、画像の原点が平面上の3Dポイントとして定義されているとすると、3D投影マトリックスをSVGの画像の2D変換に変換するにはどうすればよいですか?

4

1 に答える 1

0

2x3 変換を使用して 3D 透視投影を行うことは数学的に不可能です。それは非アフィン変換と呼ばれるものです。これについては、もう少し詳しい情報があります: http://www.oreillynet.com/xml/blog/2006/09/wherefore_art_thou_svg.html

もちろん、JavaScriptを使用して生データに対してこのような変換を行い、結果をSVG画像として表示することもできますが、SVGを使用して結果のグラフィックを表示することしかできません.SVG画像から始めることはできません.

于 2012-12-05T22:38:57.597 に答える