我不确定是否可能,但是基本上我有两个度数,它们会改变图像的宽度/大小和倾斜。在转换矩阵(
变成了
。
我想使用的是一个
但是我无法从M12值为0.321的情况中确定
有人知道吗?
<Matrix3DProjection/>
)中,它的工作原理如下:
M11:cos(x) M12:sin(y)*sin(x) M11:0 M21:0 M22:cos(y) M23:0 M31:0 M32:0 M33:1因此,如果我有
X = 30°
和 Y=40°
,我的矩阵就是:
M11:0.866 M12:0.321 M11:0 M21:0 M22:0.766 M23:0 M31:0 M32:0 M33:1所以
![normal](https://lh6.ggpht.com/_vm4C26HAULw/TDqpHdeCOeI/AAAAAAAAAIc/v1xFSjibQvI/s128/normal.jpg)
![30x40](https://lh4.ggpht.com/_vm4C26HAULw/TDqpGxbenKI/AAAAAAAAAIY/Ky_N6pfiIag/s128/30x40.jpg)
我想使用的是一个
<TransformGroup/>
,但是我无法想出<SkewTransform AngleY="???"/>
部分。使用<ScaleTransform/>
似乎很容易,只需要在ScaleX
和ScaleY
中使用上面的M11和M22值,例如:<ScaleTransform ScaleX=".866" ScaleY=".766"/>
。但是我无法从M12值为0.321的情况中确定
SkewTransform
部分的AngleY
。我知道通过手动操作,AngleY="20.3"
的值似乎非常准确。但我无法弄清楚背后的数学原理。有人知道吗?
atan(tan(30度)*sin(40度))=20.3605749度
。 - Quartermeister