三维观察

1. 世界坐标系到观察坐标系的转换  

坐标系的转换需要进行矩阵的平移和旋转。

2.  投影

3D物体到二维平面的投影分为平行投影和透视投影。

平行投影中,投影平面的x,y 坐标和三维的 x,y 坐标相等, z 坐标投影平面的 z 坐标值

透视投影就要根据观察点和物体和投影平面的距离来调整x, y 坐标。列出空间点到观察点的直线的参数方程,根据投影平面点的 z 坐标等于投影平面的 z 坐标值,可以计算出空间点在投影平面的 x, y 坐标值。

把得到的方程转换为矩阵形式。就可以用矩阵进行透视投影的计算。

glOrthon 平行投影

glPerspective 透视投影

3.  观察平面的位置

Opengl中观察平面垂直于观察坐标系的 z 轴

4.  裁剪窗口的位置

裁剪窗口为棱台的近平面,坐标可以随意设置。 

5.  观察参考点

观察参考点的位置一般选在观察坐标系的z 轴上。

如果观察参考点和裁剪平面的中心的连线与裁剪平面垂直,称为对称棱台。如果不垂直,就称为斜棱台。

Opengl把观察参考点设置在观察坐标系原点。

Opengl中的 glFrustum 函数是通用的透视投影函数,可以设置对称棱台和斜棱台。

glFrustum(xwmin, xwmax, ywmin, ywmax, dnear, dfar)

前4 个参数是设定近平面上裁剪窗口的坐标,后两个参数必须为正数(有疑惑), 表示坐标原点(观察点)到近远平面的距离。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值