好吧,我对3D投影一无所知,但我需要找到一种方法来根据我可以使用的一些预定变量在Silverlight(<Matrix3D/>
)中投影图片。我搜索了一些示例代码的高低,或者是一篇非常基本的“ for stupidies ”文章集,但还没有找到任何有意义的东西。即使是伟大的Khan Academy对我来说也不够简单。相机,视野,旋转 - 我的大脑无法绕过这些东西。
我需要以下预测:
所以,我有很多变量提供给我,比如X,Y,有时甚至是Z.例如,这个 -
Type: Orthographic X: 70° Y: 10° Z: 20°
以某种方式改变了这一点 - &gt; 进入此 - &gt; 和
Type: Isometric X: 314.7° Y: 35.4° Z: 299.8°
进入 - >
我还有其他信息,例如图片在画布上的位置坐标,宽度/高度等等,如果该信息也有用的话。
有没有人知道任何可以解释这个的资源(请刮开维基百科 - 那些东西对我没有任何意义)。或者您知道这些计算是如何工作的(.NET,没有WPF 3D功能)吗?
答案 0 :(得分:1)
好。 Matrix3D本身是一个简单的类,它很难知道填充矩阵的内容。在您进入编码之前,请阅读以下任何内容:
您可能想知道为什么我要求您阅读一些大书,而您需要的是快速解决方案。在我看来,如果你理解背后的数学(它并不复杂),3D图形编程将变得简单。如果没有,那么你将花费两倍的时间来试图找出你的程序没有做你想要的原因。
答案 1 :(得分:1)
该网站对.net:http://www.simple-talk.com/dotnet/.net-framework/building-a-simple-3d-engine-with-silverlight/
中执行矩阵运算有很好的介绍另外,请查看维基百科的矩阵轮换背景:http://en.wikipedia.org/wiki/Rotation_matrix
你可以永远不会错过一点Petzold:http://www.charlespetzold.com/blog/2009/07/Using-the-Matrix3DProjection-Class-in-Silverlight-3.html
这也是使用矩阵处理线性变换的一个很好的介绍:http://polymathprogrammer.com/2008/09/01/cartesian-coordinates-and-transformation-matrices/
答案 2 :(得分:1)
在这里阅读课程,以获得数学上令人敬畏的东西...... http://chortle.ccsu.edu/vectorlessons/vectorIndex.html#01