二维观察的流程 ■在规范化坐标系下进行视区图形裁剪:裁剪掉视区外的图 形部分,并将视区内图形转换到设备坐标系 使用建模坐标变换 窗口到视区的映射 构造世界坐标场景 视区窗口的定义 wC 将世界坐标场景描述 界 转换为观察坐标系 窗口 视区 VC 使用視区窗口描述将观 观察 察坐标映射到规范化坐标 世界 NYC. 世界坐标系 设备坐标系 将规范化视区 映射到设备坐标系 观察坐标系的定义 DC 输出设备 2-12
2-12 二维观察的流程 ◼ 在规范化坐标系下进行视区图形裁剪:裁剪掉视区外的图 形部分,并将视区内图形转换到设备坐标系
0penG用于二维显示 1081450 2000,1500 0,0 1800150 ∥视口位置和尺寸(相对于程序窗口) glViewport (x, y, width, height) 显示器屏幕 指定观察→设备的关联方式 glMatrixMode(GL Projection) 视口范围 指定观察方式 Openg程序窗口 ∥二维投影面,决定了二维显示坐标的范围 gluOrtho2D(xmin, xmax, ymin, ymax); xmax, ymax 在世界坐标系下指定观察范围 xmin 2-13
2-13 OpenGL用于二维显示 //视口位置和尺寸(相对于程序窗口) glViewport (x, y, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); //二维投影面,决定了二维显示坐标的范围 gluOrtho2D(xmin,xmax,ymin,ymax); 显示器屏幕 视口范围 Opengl程序窗口 二维投影面范围 xmax,ymax xmin,ymin 在世界坐标系下指定观察范围 指定观察方式 指定观察→设备的关联方式 2000,1500 0,0 100,1450 1800,150
2.几何变换 2-14
2-14 2. 几何变换
二维几何变换 图形变换是图形显示过程中不可缺少的一个环节 通过图形变换可由简单图形生成复杂图形 变换是描述图形的有力工具,可改变和管理各种图形的 显示。例如: 通过调整组成部分的方向和大小来实现设计和设施布 局 动画则通过沿动画路径移动“照相机”或场景中的对 象而产生 在方向、尺寸和形状方面的变化是用改变对象坐标描 述的几何变换来完成 二维观察中涉及的各种变换需要用二维几何变换来实现 2-15
2-15 二维几何变换 • 图形变换是图形显示过程中不可缺少的一个环节 – 通过图形变换可由简单图形生成复杂图形 – 变换是描述图形的有力工具,可改变和管理各种图形的 显示。例如: • 通过调整组成部分的方向和大小来实现设计和设施布 局 • 动画则通过沿动画路径移动“照相机”或场景中的对 象而产生 • 在方向、尺寸和形状方面的变化是用改变对象坐标描 述的几何变换来完成 – 二维观察中涉及的各种变换需要用二维几何变换来实现
平移变换 ■平移是指:将物体沿直线路径从一个坐标位置到另一个坐标位 置重定位 ■给原始坐标位置(Xy加上平移距离t和车来实现到新位置(xny) 的移动 X,=x+tx y1=y+ty (tty)称为平移向量或转换向量 平移的矩阵方程: =P7 7=(tx4)J, P=(x,y), 1=X1,iT 2-16
2-16 平移变换 ◼ 平移是指:将物体沿直线路径从一个坐标位置到另一个坐标位 置重定位 ◼ 给原始坐标位置(x,y)加上平移距离tx和ty来实现到新位置(x1,y1) 的移动: – x1 =x+tx – y1 =y+ty (tx,ty)称为平移向量或转换向量 ◼ 平移的矩阵方程: – P1 =P+T – T=(tx,ty) T , – P =(x,y) T , – P1 =(x1,y1) T P P1 T