• 7、事例七: OpenGL变换总结


    OpenGL变换包括计算机图形学中最基本的三维变换,即几何变换、投影变换、裁剪变换、视口变换,

    以及针对OpenGL的特殊变换概念理解和用法,如相机模拟、矩阵堆栈等,这些基础是开始真正走进三维
    世界无法绕过的基础.

    实际上,从三维空间到二维平面,就如同用相机拍照一样,通常都要经历以下几个步骤
    (括号内表示的是相应的图形学概念):
    第一步,将相机置于三角架上,让它对准三维景物(视点变换,Viewing Transformation)。
    第二步,将三维物体放在适当的位置(模型变换(几何变换),Modeling Transformation)。
    第三步,选择相机镜头并调焦,使三维物体投影在二维胶片上(投影变换,Projection Transformation)。
    第四步,决定二维像片的大小(视口变换,Viewport Transformation)。
    这样,一个三维空间里的物体就可以用相应的二维平面物体表示了,也就能在二维的电脑屏幕上正确显示了。

    三维图形世界中的还有几个特殊坐标系的概念。
    1)、显示三维图形的这个坐标系称为世界坐标系。
    2)、要在图形显示器上显示,这就要在图形显示器屏幕上定义一个二维直角坐标系,这个坐标系称为屏幕坐标系。
    这个坐标系坐标轴的方向通常取成平行于屏幕的边缘,坐标原点取在左上角,长度单位常取成一个象素的长度,大小可以是整型数。
    3)、为了使三维休能在二维显示器上显示出来,必须要通过投影进行降维处理。
    投影的方法有两种,即正射投影和透视投影。正射投影和透视投影定义一个三维视景体(Viewing Volume)。
    正射投影时一般是一个长方体的视景体,透视投影时一般是一个棱台似的视景体。只有视景体内的物体能被投影在显示平面上,其他部分则不能。
    4)、在绘画3D图形的屏幕窗口内可以定义一个矩形,称为视口(Viewport),视景体投影后的图形就在视口内显示,
    三维图形根据视口变换后, 即可以显示满屏,也可以只显示一部分。为了适应物理设备坐标和视口所在坐标的
    差别,还要作一适应物理坐标的变换。这个坐标系称为物理设备坐标系。

    世界坐标系中的三维物体 ————> 三维几何变换 ————> 投影 ————> 三维裁剪 ————> 视口变换 ————> 屏幕坐标系中的图形显示

  • 相关阅读:
    Lodop实现web套打
    oracle监听文件 内容
    【数据存储】【Redis】第四章:高并发下实现分布式锁
    Demo:第二章:Java实现随机图像生成(人像,汽车,房屋等等)
    【数据存储】【Redis】第五章:Redis缓存String类型的使用场景
    【数据存储】【Redis】第三章: Redis五大数据类型实现原理
    【Java面试】:第三章:P6级面试
    【数据存储】【Redis】第二章:底层数据结构
    实战:第二十二章:i18n国际化(已实现中文,英文,波兰文)
    Demo:第三章:权限框架spring security oauth2
  • 原文地址:https://www.cnblogs.com/lotuses/p/11357982.html
Copyright © 2020-2023  润新知