【图形学】投影和消隐简介

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

投影

正交投影

对于物体上任意一点的三维坐标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=xLcosβ=xzcotαcosβy=yLsinβ=yzcotαsinβ

透视投影

透视投影有三个坐标系,世界坐标系,观察坐标系,屏幕坐标系
在这里插入图片描述

在这里插入图片描述

观察坐标系到投影坐标系的转换可以用相似求出
在这里插入图片描述

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值