理解简单Java程序的透视投影
所以我很难理解透视投影的精确计算——我的老师在课堂上讲课,而且没有课本供我参考。 我正在用Java创建一个简单的程序,用于显示一个立方体(或任何多边形对象),其中视点位于(6、8、7.5),观察轴Ze指向WCS的原点,Xe轴位于Z=7.5平面上。据说屏幕为30x30cm,观看距离为60cm。 多维数据集如下所示: Xw:-1,1,1,1,-1,1,1,-1 Yw:1,1,-1,-1,1,1,-1,-1 Zw:-1,-1,-1,1,1,1,1,1 到目前为止,我已经能够模拟三维几何变换,并使用bresenham算法扫描转换线。然而,该项目的任务是应用透视投影,我对透视投影没有真正的理解 据我所述,[Xe Ye Ze 1]=[Xw Yw Zw 1][V]然后[Xc Yc Zc 1]=[Xe Ye Ze 1][N]或者更确切地说[Xc Yc Zc 1]=[Xw Yw Zw 1][V][N]],然后用Xs=(Xc/Zc)+Vsx+Vcx和Ys=(Yc Zc)VSy+Vcy将点映射到屏幕上。然而,我的主要问题是在给定项目术语的情况下构造转换矩阵V理解简单Java程序的透视投影,java,graphics,3d,perspectivecamera,Java,Graphics,3d,Perspectivecamera,所以我很难理解透视投影的精确计算——我的老师在课堂上讲课,而且没有课本供我参考。 我正在用Java创建一个简单的程序,用于显示一个立方体(或任何多边形对象),其中视点位于(6、8、7.5),观察轴Ze指向WCS的原点,Xe轴位于Z=7.5平面上。据说屏幕为30x30cm,观看距离为60cm。 多维数据集如下所示: Xw:-1,1,1,1,-1,1,1,-1 Yw:1,1,-1,-1,1,1,-1,-1 Zw:-1,-1,-1,1,1,1,1,1 到目前为止,我已经能够模拟三维几何变换,并使用br
任何帮助都将不胜感激我对观察轴指向原点和右轴平行于x/y平面感到有点困惑。为什么它们不是正交的