根据SVG规范,您可以将任意2x3变换矩阵应用于任何元素。
http://www.w3.org/TR/SVG/coords.html#TransformAttribute
我想利用这种方法将3D预期投影应用于SVG中的图像,以模拟平面图像的3D投影。
我在javascript中使用矩阵计算将变换和投影应用到3D模型空间坐标(x,y,z)到2D图像空间坐标(x',y')。但是为了将投影应用于SVG中的图像或文本,我需要将3D矩阵投影到2D变换矩阵。
假设图像位于3D模型空间中的任意平面上,图像原点定义为平面上的3D点,如何将我的3D投影矩阵转换为SVG图像上的2D变换
答案 0 :(得分:0)
使用2x3变换进行3D透视投影在数学上是不可能的。这就是所谓的非仿射变换。这里有更多相关信息:http://www.oreillynet.com/xml/blog/2006/09/wherefore_art_thou_svg.html
您可以使用javascript对原始数据进行此类转换,并将结果显示为SVG图像,但您只能使用SVG显示生成的图形 - 您无法从SVG图像开始。