实验5 OpenGL变换综合练习
1 .实验目的: 理解掌握OpenGL程序的投影变换,能正确使用投影变换函数,实现正投影与透视投影。 2 .实验内容: (1) 使用图a中的尺寸绘制小桌,三维效果图见图b。要求绘制小桌各部件时只能使用函数glutSolidCube()和变换函数,不能使用函数glVertex()等直接指定顶点位置; (2)添加键盘按键或右键菜单控制实现小桌效果图在正投影和透视投影模式间的切换;在此基础上,考虑一点透视、两点透视、三点透视三类效果图的显示。 3 .实验原理: OpenGL通过相机模拟、可以实现 计算机 图形学中最基本的三维变换,即几何变换、投影变换、视口变换等,同时,OpenGL还实现了矩阵堆栈等。理解掌握了有关坐标变换的内容,就算真正走进了精彩地三维世界。 一、OpenGL中的三维物体的显示 (一)坐标 系统 在现实世界中,所有的物体都具有三维特征,但计算机本身只能处理数字,显示二维的图形,将三维物体及二维 数据 联系在一起的唯一纽带就是坐标。 为了使被显示的三维物体数字化,要在被显示的物体所在的 空间 中定义一个坐标系。这个坐标系的长度单位和坐标轴的方向要适合对被显示物体的描述,这个坐标系称为世界坐标系。世界坐标系是始终固定不变的。 OpenGL还定义了局部坐标系的概念,所谓局部坐标系,也就是坐标系以物体的中心为坐标原点,物体的旋转或平移等操作都是围绕局部坐标系进行的,这时