3 计算机仿真技术

用堆栈来管理矩阵
·();------使栈顶矩阵为单位矩阵
·(); -------将栈顶矩阵复制一份,入栈
·(); -------退栈
矩阵的组合变换
几何变换
模型变换--Model 视点变换--View
()---不论什么,都看做模型变换
Void (eyex,eyey,eyez,,,,upx,upy,upz)
视点位置视点聚焦的位置 物体头部朝向
全局变换与局部变换
只有一次变换(旋转、平移、缩放),则全局与局部变换效果一样多个变换组合,效果一般不同局部变换= -(全局变换的组合顺序)~~~ 中变换语句顺序与实际矩阵相乘实现相反
投影

3  计算机仿真技术

文章插图
【3计算机仿真技术】 (透视投影)
(平行投影)
投影变化:给定视点、视线方向,计算出当前顶点的投影点坐标
·投影变换也是用矩阵来实现的
·专门管理投影矩阵的堆栈:();
视口变换------图像变形
Void (GLint x,, width, );
设置当前窗口中的视口区域
参数中的值以屏幕像素为单位
投影函数(如())定义了投影窗口的大小比例;
()定义了视口的大小比例
(0,0,w,h);
(60.0,()w/()h,1.0,30.0);
设置第2个参数为w/h的目的:保持投影窗口与视口的比例一致,使其不变形
三维几何空间中的坐标系与单位
坐标系:
的默认坐标系和默认视点位置 ·右手坐标系
·默认视点在原点
·视线方向是z轴负方向
单位:
三维空间(视锥体空间)中的单位:无绝对单位,有相对大小
设定物体大小以什么为依据:视锥体
是否需要根据视口大小来设定物体大小?
Void (GLint x,, width, );
()参数中的值都是以屏幕像素为单位的
二者单位不同,视口大小只与视锥体窗口有比例的关系,无绝对大小关系
物体大小与视口无关,需根据视锥体大小来设定物体大小-----物体大小与其在视口中所占面积大小无关