这次我们抛开代码和java,为了实现简单的透视投影动画,来了解一些必要的数学知识,
工科生都学过《线性代数》这门课,如果没有这方面的知识,也没有关系,百度一下,了解简单的矩阵乘法,加法知识即可,非常简单。
透视投影,说白了,就是将三维物体的坐标按一种方式转换为二维平面坐标,这样才能放在屏幕上和图纸上看,至于是哪种方式,就看你的需要了,如果要求立体感,真实感强烈,就采用透视投影,若要求平行性好,变形小的工程要求,就可以选用平行投影。
由于这里我们没有工程需求,而是要求真实感强,所以选用了透视投影,而且是最简单的单点透视。
如图所示,将具有三维坐标的p(x,y,z) 投影到xoy 平面上p'(x',y',z')显然z'为一个常数;
可以把xoy理解成电脑屏幕。
那么q点就是透视投影中心点,它在垂直于xoy平面的直线上,d也是个常数。
投影过程非常简单,将q与p点相连,与xoy相交一点p',求出p'的坐标就是整个投影过程。
<