第六章投影变换.
- 格式:ppt
- 大小:123.00 KB
- 文档页数:29
投影变换投影变换就是要确定一个取景体积,其作用有两个:1). 确定物体投影到屏幕的方式,即是透视投影还是正交投影。
2). 确定从图象上裁剪掉哪些物体或物体的某些部分。
投影变换包括透视投影和正交投影(平行投影)。
●透视投影透视投影的示意图如下,其取景体积是一个截头锥体,在这个体积内的物体投影到锥的顶点,用glFrustum()函数定义这个截头锥体,这个取景体积可以是不对称的,计算透视投影矩阵M,并乘以当前矩阵C,使C=CM。
void glFrustum(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far);该函数以透视矩阵乘当前矩阵left, right 指定左右垂直裁剪面的坐标。
bottom,top 指定底和顶水平裁剪面的坐标。
near,far 指定近和远深度裁剪面的距离,两个距离一定是正的。
程序函数gluPerspective()可以创建一个与调用glFrustum()所得到的同样形状的视图体,它创建的是一个沿视线关于x和y轴均对称的平截台体,在很多实际应用中都采用函数gluPerspective()。
void gluPerspective(GLdouble fovy,GLdouble aspect, GLdouble zNear,GLdouble zFar);fovy是在x-z平面内视区的角度,其值必须在区间【0.0,180.0】内。
Aspect为长宽比,是平截台体的宽度与高度之比。
zNear和zFar的值是视点(沿z轴负向)与两个裁剪平面的距离。
参数恒为正。
图1透视投影示意图●正交投影正交投影的示意图见下:其取景体积是一个各面均为矩形的六面体,用glOrtho()函数创建正交平行的取景体积,计算正交平行取景体积矩阵M,并乘以当前矩阵C,使C=CM。
void glOrtho(Gldouble left,Gldouble right,Gldouble bottom,Gldouble top,Gldoublenear,Gldouble far);该函数以正交投影矩阵乘当前矩阵。
投影变换的三种方法投影变换是图形学中常用的一种技术,它可以将一个物体或图像投影到一个新的坐标系中,从而改变其形状、位置和大小。
在计算机图形学、计算机视觉以及计算机辅助设计等领域都有广泛的应用。
本文将介绍投影变换的三种常用方法:平行投影、透视投影和仿射投影。
一、平行投影平行投影是一种简单而常用的投影变换方法,它将物体或图像的每个点沿着平行于观察方向的直线投影到投影平面上。
由于平行投影不考虑观察点与投影平面的距离,因此投影结果不会产生透视效果,物体的形状和大小在投影过程中保持不变。
平行投影可以简化计算过程,适用于一些不需要透视效果的场景,如平面图的绘制和建筑物的俯视图等。
二、透视投影透视投影是一种模拟真实世界中的投影效果的方法,它考虑了观察点与投影平面的距离,使得物体在投影过程中产生透视效果。
透视投影根据物体与观察点的距离和角度的不同,可以产生近大远小的效果,使得投影图像更加真实。
透视投影广泛应用于计算机游戏、虚拟现实和电影等领域,使得场景更加逼真,增强了用户的沉浸感。
三、仿射投影仿射投影是一种综合了平行投影和透视投影的投影变换方法,它可以保持物体的平行性和直线性,同时又能产生透视效果。
仿射投影通过对物体的位置、大小、形状和角度进行变换,将物体投影到一个新的坐标系中。
仿射投影在计算机图形学中具有广泛的应用,如图像矫正、图像处理和计算机辅助设计等领域。
总结:本文介绍了投影变换的三种常用方法:平行投影、透视投影和仿射投影。
平行投影适用于不需要透视效果的场景,透视投影模拟了真实世界中的投影效果,而仿射投影综合了平行投影和透视投影的优点。
这三种方法在计算机图形学、计算机视觉以及计算机辅助设计等领域都有广泛的应用。
通过合理选择和使用这些方法,可以实现对物体或图像的形状、位置和大小的变换,从而满足不同应用需求。