投影
正交投影
对于物体上任意一点的三维坐标P(x,y,z),投影后的三维坐标为P′(x′,y′,z′)P^\prime(x^\prime,y^\prime,z^\prime)P′(x′,y′,z′),那么正交投影的方程为{ x′=xy′=yz′=0\begin{cases} x^\prime=x\\y^\prime=y\\z^\prime=0 \end{cases}⎩ ⎨ ⎧x′=xy′=yz′=0
斜投影

如图所示,空间中一点P1(x,y,z)P_1(x,y,z)P1(x,y,z)在xOy面上的斜投影坐标P2(x′,y′,0)P_2(x^\prime,y^\prime,0)P2(x′,y′,0)正交投影点P3(x,y,0)P_3(x,y,0)P3(x,y,0),那么有{ x′=x−Lcosβ=x−zcotαcosβy′=y−Lsinβ=y−zcotαsinβ\begin{cases} x^\prime=x-L\cos\beta=x-z\cot\alpha\cos\beta\\ y^\prime=y-L\sin\beta=y-z\cot\alpha\sin\beta \end{cases}{ x′=x−Lcosβ=x−zcotαcosβy′=y−Lsinβ=y−zcotαsinβ
透视投影
透视投影有三个坐标系,世界坐标系,观察坐标系,屏幕坐标系


观察坐标系到投影坐标系的转换可以用相似求出

{ x′=n⋅xzy′=n⋅yz\begin{cases} x^\prime=n\cdot \fr

本文详细介绍了正交投影、斜投影和透视投影的数学原理,以及如何在C++编程中实现这些投影方法。此外,还讨论了消隐算法,特别是背面剔除,用于确定物体在三维空间中的可见性。文中还提及了三维向量类CVector3在向量操作和消隐计算中的应用。

612

被折叠的 条评论
为什么被折叠?



