课程内容进展 综述 建模 观察 显示 其它 ‘图形学’和‘图形系统’ 曲线曲面 实体造型 坐标系统,观察 图元绘制,裁剪 三维观察流水线

Slides:



Advertisements
Similar presentations
第八章 投影变换 第八章 投影变换 内容 : 一. 导引 二. 投影介绍 三. 投影变换原理 四. 总结 五. 补充内容.
Advertisements

精品课程《解析几何》 第三章 平面与空间直线.
§3.4 空间直线的方程.
《解析几何》 -Chapter 3 §7 空间两直线的相关位置.
第八章 向量代数 空间解析几何 第五节 空间直线及其方程 一、空间直线的点向式方程 和参数方程 二、空间直线的一般方程 三、空间两直线的夹角.
3.4 空间直线的方程.
《解析几何》 乐山师范学院 0 引言 §1 二次曲线与直线的相关位置.
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
丰富的图形世界(2).
第二章 二次函数 第二节 结识抛物线
第八章 GIS产品的输出设计 第一节 GIS输出形式 第二节 GIS图形输出系统设计 第三节 GIS的可视化与虚拟现实.
UI(用户界面)集训班 Illustrator 高级班.
一次函数的图象复习课 南华实验学校 初二(10)班 教师:朱中萍.
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
初中数学 九年级(下册) 5.3 用待定系数法确定二次函数表达式.
第三章 点 §3-1 两投影面体系中点的投影 §3-2 三投影面体系中点的投影 §3-3 两点的相对位置 §3-4 重影点 例题1 例题2
4 第4章 轴测图 主讲 袁和法 menu next.
计算机科学与技术专业研究型课程 矩阵和线性变换 宋传鸣 辽宁师范大学计算机与信息技术学院.
Computer Graphics 计算机图形学基础 张 赐 Mail: CSDN博客地址:
物体识别 3D建图 semantic mapping
第三节 视觉系统的几何特性.
数学模型实验课(三) 插值与三维图形.
第2章 点、直线、平面的投影  2.1 投影法及其分类  2.2 点的投影  2.3 直线的投影  2.4 平面的投影
工业机器人技术基础及应用 主讲人:顾老师
双曲线的简单几何性质 杏坛中学 高二数学备课组.
第六章 二维变换及二维观察 如何对二维图形进行方向、尺寸和形状方面的变换。 如何进行二维观察。.
第8章 静电场 图为1930年E.O.劳伦斯制成的世界上第一台回旋加速器.
2.1.2 空间中直线与直线 之间的位置关系.
平行四边形的性质 灵寿县第二初级中学 栗 彦.
3D Viewing Lectured by Hua Yan.
工业机器人技术基础及应用 主讲人:顾老师
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
变换与裁剪.
专题二: 利用向量解决 平行与垂直问题.
第二十二章 曲面积分 §1 第一型曲面积分 §2 第二型曲面积分 §3 高斯公式与斯托克斯公式.
第三章 图形变换.
2.3.4 平面与平面垂直的性质.
第三章 直线与平面、 平面 与平面的相对位置 内 容 提 要 §3-1 直线与平面平行 • 平面与平面平行
VisComposer 2019/4/17.
3.3 垂径定理 第2课时 垂径定理的逆定理.
§1体积求法 一、旋转体的体积 二、平行截面面积为已知的立体的体积 三、小结.
第五节 对坐标的曲面积分 一、 对坐标的曲面积分的概念与性质 二、对坐标的曲面积分的计算法 三、两类曲面积分的联系.
复习: 若A(x1,y1,z1) , B(x2,y2,z2), 则 AB = OB - OA=(x2-x1 , y2-y1 , z2-z1)
3.1.2 空间向量的数量积运算 1.了解空间向量夹角的概念及表示方法. 2.掌握空间向量数量积的计算方法及应用.
《工程制图基础》 第四讲 几何元素间的相对位置.
直线和圆的位置关系 ·.
O x y i j O x y i j a A(x, y) y x 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算.
空间平面与平面的 位置关系.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
苏教版小学信息技术3年级第2课 认识计算机.
第六章 轴测图 本章教学目的与要求 1.了解轴测图的基本知识 2.掌握正等轴测图的画法 3. 掌握斜二轴测图的画法 4.了解轴测剖视图的画法
《工程制图基础》 第五讲 投影变换.
Chapter 10 Three-Dimensional Viewing (三维观察)
第三章 空间向量与立体几何 3.1 空间向量及其运算 3.1.2空间向量的数乘运算.
29.1 投影.
义务教育课程标准试验教科书九年级 下册 投影和视图 珠海市金海岸中学 杜家堡 电话:
§2-2 点的投影 一、点在一个投影面上的投影 二、点在三投影面体系中的投影 三、空间二点的相对位置 四、重影点 五、例题 例1 例2 例3
直线的倾斜角与斜率.
正弦函数的性质与图像.
23.6 图形与坐标 图形的变换与坐标
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
3.2 平面向量基本定理.
1.2轴对称的性质 八 年 级 数 学 备 课 组.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
位似.
香港城市大学 导师: 布礼文教授( Dr. L M Po ) 学生: 徐叙远 ( Xu Xuyuan )
生活中的几何体.
5.1 相交线 (5.1.2 垂线).
第三章 图形的平移与旋转.
§2.3.2 平面与平面垂直的判定.
Presentation transcript:

课程内容进展 综述 建模 观察 显示 其它 ‘图形学’和‘图形系统’ 曲线曲面 实体造型 坐标系统,观察 图元绘制,裁剪 三维观察流水线 曲线曲面 实体造型 坐标系统,观察 图元绘制,裁剪 三维观察流水线 几何变换 图形绘制 可见面判别 光照 面绘制 其它 UI 动画 ……

Three-Dimensional Viewing 第9讲 三维观察 Three-Dimensional Viewing

第9讲主要内容 三维空间的观察过程 投影 三维裁剪 OpenGL三维观察和裁剪相关函数

第9讲小结 观察流水线: 3维变2维 + 裁剪 普通显示: 真实或虚拟(3/2维)场景通过流水线完成转换和显示 其它更“高级”的显示方式?

立体显示?增强现实?虚拟现实? Stereo Display Augment Reality Virtual Reality 虚拟的三维场景(建模获得)通过观察流水线处理进行普通显示,再通过特殊设备(如立体眼镜,立体屏幕)辅助让人感受三维 沉浸感(真实性),交互性,构想 硬件:传感器,显示器,处理器,交互设备 头盔,手套,衣服(身体部位跟踪) 软件:建模,实时3D计算,与CV的结合 《三体》

虚拟现实——桌面式 通常以观看为主要目的,且直接以普通的PC为基础计算机硬件设备,配合简单的数据手套或空间跟踪球等交互设备,让用户观察三维场景并做交互。

虚拟现实——沉浸式 与桌面式类似,但采用的显示方式(设备)更为复杂、交互方式(设备)更为全面,用户的沉浸感更好。

虚拟现实——增强式(增强现实) 显示和虚拟物体的融合和交互。真实的三维场景(摄像获得)通过摄像机设备处理变为二维图像帧,加上虚拟的三维场景,二者共同通过观察流水线处理,最终合并进行普通显示或3D观察 Google眼镜

虚拟现实——分布式 网络分布式虚拟现实将分散的虚拟现实系统或仿真器通过网络联结起来,采用协调一致的结构、标准、协议和数据库,形成一个在时间和空间上互相耦合的虚拟,合成环境,参与者可自由地进行交互作用。

三维立体显示 基于双目视差原理的三维立体显示 眼镜/头盔式立体显示 被动式偏光(涂层)设计: 主动式快门设计 光栅式自由立体显示 RealD 3D、MasterImage 3D、杜比3D 240HZ以上的显示器。 主动式快门设计 120HZ以上的显示器。 光栅式自由立体显示 在合适的位置上观看

被动式 被动式:利用光线有“振动方向”的原理来分解原始图像,通过在显示屏幕上加放偏光板,可以向观看者输送两幅偏振方向不同的两幅画面,当画面经过偏振眼镜时,由于偏光式眼睛的每只镜片只能接受一个偏振方向的画面,这样人的左右眼就能接收两组画面,再经过大脑合成立体影像。

主动式 把图像按帧一分为二,形成对应左眼和右眼的两组画面,持续交织显示出来,同时红外信号发射器将同步把持快门式3D眼镜的左右镜片开关,使左、右双眼能够在准确的时刻看到相应画面。

自由式 观察者不需要佩戴任何观察仪器就可以直接看见3D图像。合成的图像包含竖直的交替排列的图像条纹,这些条纹由具有位差的左图像和右图像构成,通过在液晶显示屏上排列颜色过滤器来显示合成图像。 索尼、夏普、康佳等裸眼3D电视

近期推出的产品 Oculus Rift、 HTC Vive 、 索尼Project Morpheus 三星Gear VR、

有趣的廉价设备 在2015年的开发者大会上,Google推出了自己家的VR虚拟现实眼镜。Google Cardboard。其中很关键是一个道具就是Google Cardboard应用。它可以将手机里的内容进行分屏显示,两只眼睛看到的内容有视差,从而产生立体效果。通过使用手机摄像头和内置的螺旋仪,在移动头部时能让眼前显示的内容也会产生相应变化。

全息影像立体显示 拍摄:被摄物体在激光辐照下形成物光束;另一部分激光作为参考光束射到全息底片上,和物光束叠加产生干涉,干涉情况反映物体光波的全部信息:全息照片; 成象:全息图如一个复杂的光栅,在相干激光照射下的衍射光波再现的图像立体感强,具有真实的视觉效应。 180度全息投影、270度全息投影、360度全息投影和舞台全息幻影成像、展示幻影成像、空气雾幕成像等 http://wenku.baidu.com/link?url=bzTi1LGDo49KJR60z0cFAGMGQWW3iW_B3op9twDAtmCKLNQ4sT9UIFX4Ya0ZA3-XPG6SpwkkrPC3-uojFFPCH6bVGn8KVy7zTXBrmGZxeRa

相关应用——汽车制造 1比1的仿真感受 动态实时交互,改变配色、轴距、背景以及查看细节特征结构。从多个角度全面观察,并实时进行调整

相关应用——汽车制造 在汽车内部的人机交互部件设计。包括座椅、转向盘、变速杆、指示灯、后视镜、刮水器、车门手柄、多媒体娱乐以及空调等都可以利用虚拟现实技术进行效果模拟

支撑技术——GTX1080 比GeForce GTX 980,TITAN X更强大

支撑技术——GTX1080

End of 第9讲

三维空间的观察过程 与三维观察有关的若干概念 三维观察流水线 三维观察坐标系及其转换

三维观察相关概念 对象指定位置视图投影到显示设备 对象表面特征视图 内部组成或剖面 立体显示 投影(3D to 2D):平行投影、透视投影 深度关系(可见线、面的标识) 线:近亮、远暗/不显示/虚线显示/不同颜色显示 面:屏幕象素仅包含前向面的颜色 对象表面特征视图 面绘制:光照、透明/光滑性、纹理 内部组成或剖面 拆散和剖切显示 立体显示 左、右视图(立体眼镜) 投影(3D to 2D):平行投影、透视投影 图 深度关系(可见线、面的标识) 图 线:近亮、远暗/不显示/虚线显示/不同颜色显示 面:屏幕象素仅包含前向面的颜色 面绘制:光照、透明/光滑性、纹理 图 拆散和剖切显示 图

三维观察流水线 建模 变换 观察 变换 视口 变换 指定观察参数以及投影类型 投影变换(获得:2D+z) 投影, 规范化, 裁剪 MC 建模 变换 WC 观察 变换 VC PC,NC 视口 变换 DC 建模坐标系 世界坐标系 观察坐标系 投影坐标系 规范化坐标系 设备坐标系 三维 三维 指定观察参数以及投影类型 投影变换(获得:2D+z) 规范化观察体 View Volume 裁剪 包含深度信息的二维

三维观察坐标系 在三维世界坐标系中: 由此,获得uvn观察坐标参考系统 指定观察参考点 P 指定观察平面法向量 N (z轴) 指定和调整观察向上向量 V (y轴) 计算出向量 U (x轴) V’ N 观察平面 V U P 由此,获得uvn观察坐标参考系统 ——以V为正上方,站在P点,沿着 -N方向看,在UV平面上‘看’到的内容

三维坐标系的变换 复合变换 P’=R·T·P 1 0 0 -x0 0 1 0 -y0 0 0 1 -z0 T= 0 0 0 1 0 0 0 1 T= 复合变换 P’=R·T·P

三维观察变换(世界->观察坐标系) 1 0 0 -x0 0 1 0 -y0 0 0 1 -z0 0 0 0 1 T= Uux Vuy Nuz 复合变换 P’=R·T·P

三维观察效果 问题:如何在输出设备上获得这些效果? 核心:三维模型向观察平面投影! 固定观察点P,改变N的方向 固定N的方向,改变观察点P位置 问题:如何在输出设备上获得这些效果? 核心:三维模型向观察平面投影! (投影平面)

投影 如何将三维场景显示在二维的设备上 投影的分类 各类投影相应的观察体 实现各类投影的几何变换方法

投影的分类 从三维物体上某点P引出的一条射线(投影线)与观察平面的交点,即为P的投影点。 分类 正投影 正平行投影 正轴测投影 等轴测投影 斜等测 斜二测 斜平行投影 一点透视投影 二点透视投影 三点透视投影 透视投影

投影示意简图 平行投影 透视投影 投影线相互平行 投影线会聚到一点:“投影中心”

正平行投影 (正,正轴测,等轴测) 正投影:观察平面垂直于世界坐标系下某一坐标轴 投影线相互平行 & 投影线与观察平面垂直 平行性不变 投影线相互平行 & 投影线与观察平面垂直 正投影:观察平面垂直于世界坐标系下某一坐标轴 平行性不变 尺寸比例不变 三维结构 三视图 正投影 重建

正轴测投影 正轴测: 观察平面不垂直于任一坐标轴 线的平行性不变 包括正等测(等轴测)、正二测、正三测 (注意:投影线仍与投影平面垂直) 等轴测: 观察平面和三根坐标轴交点离原点的距离相等(|a|=|b|=|c| 八种)

正轴测投影示意图 为紫色平面建立一个原点和世界坐标系原点重合的观察坐标系 世界

正投影的观察体定义及其规范化 对于观察平面平行于xy平面的正投影: xp=x,yp=y,zp=z(所有投影变换均需保留z为可见性测试使用) 选择二维裁剪窗口:位于观察平面上 指定近-远裁剪平面:获得矩形管道观察体。 观察体的规范化变换。 规范化 平移,缩放

二维裁剪窗口到规范化视口的复合变换矩阵 = T2 . S . T1 1 0 -xwmin 0 1 -ywmin 0 0 1 平移 缩放 0 0 1 平移 缩放 T1 = 2 Sx 0 0 0 Sy 0 0 0 1 S = 2 ynorm 1 1 0 xvmin 0 1 yvmin 0 0 1 -1 -1 1 T2 = xnorm -1

ynorm y 1 = T2 . S . T1 1 -1 znorm z Zfar Znear -1 这里的变换不负责裁剪!

斜平行投影 投影线相互平行 & 投影线与观察平面不垂直

   0-90  = 0-360 ( ) 时为正投影

斜等测、斜二测 斜等测投影 斜二测投影 投影平面与某一坐标轴垂直 tan=1  =45°  =任意 特点:与投影平面垂直的线投影后长度不变 斜二测投影 tan=2  =63.4°  =任意 特点:该轴轴向变形系数为 1/2

斜二测投影示意图

斜等测投影示意图

斜平行投影的观察体定义及其规范化 对于观察平面平行于xy平面的斜平行投影: 定义斜平行投影向量:获得投影变换矩阵 选择二维裁剪窗口:位于观察平面上 指定近-远裁剪平面:获得斜平行管道观察体 进行投影变换:获得与正投影相同的矩形管道观察体 观察体的规范化变换。(同正投影)

斜平行投影向量

斜平行投影变换矩阵 参考z=Zvp平面的关于z轴的错切 ort 正投影变换矩阵就是单位矩阵 单位投影向量(0,0,1)

斜平行投影观察体

斜平行投影观察体的变换 斜平行投影变换Moblique 所有Z值不变! 仅进行规范化 同正投影 规范化 (同正投影)

任意平行投影的变换过程 (1)坐标系变换:世界坐标系经变换,与观察坐标系(右手或左手系)重合 此时:投影平面变为Z=0(XY平面) (2)错切: Moblique 使斜平行投影变成正投影 (3)规范化(平移,缩放): Mortho norm

透视投影 透视投影的特点: 投影中心无限远离投影平面时,即等同于平行投影 “近大远小”:线段投影缩小程度与投影平面位置的关系 投影参考点(投影中心) 透视投影的特点: “近大远小”:线段投影缩小程度与投影平面位置的关系 不平行于投影平面的平行线段组,投影后仍平行。 不平行于投影平面的平行线段组,投影后会聚。 投影中心无限远离投影平面时,即等同于平行投影

透视投影分类(灭点Vanishing point) 每组平行线条的会聚点称为一个“灭点” 主灭点:这组平行线条平行于某个坐标轴 一点透视 :投影平面只与一个坐标轴相交 二点透视 :投影平面只与二个坐标轴相交 三点透视 :投影平面只与三个坐标轴相交

透视投影的观察体定义及其规范化 对于观察平面平行于xy平面的透视投影: 定义投影中心 定义观察体 进行投影变换:获得矩形管道观察体 选择观察体类型并获得相应的投影变换矩阵 选择二维裁剪窗口:位于观察平面上 指定近-远裁剪平面 进行投影变换:获得矩形管道观察体 观察体的规范化变换。

+ 约定1:投影平面平行于xy平面(只与z轴相交),且其法向量平行于Z轴正向。 经过透视投影后任意点P的z坐标都变换成Zvp了吗?

透视投影变换 【注意:】 ZprpZ(投影平面上的对象点无需投影) 每个对象点的h值均不同,是z的线性函数 【问题:】 Zp是什么?

透视投影变换矩阵 Zh=sz·z + tz Zp =Zh / h 因此,Zp Zvp是对Z进行规范化和齐次变换,保留了深度信息。 xh yh zh h x y z 1 Mpers /h Zh=sz·z + tz Zp =Zh / h 因此,Zp Zvp是对Z进行规范化和齐次变换,保留了深度信息。 矩阵元素sz和tz用于实现z坐标规范化(同正投影),其取值依赖于: 观察体的形状、位置、尺寸 规范化目标的大小:(0,1)还是(-1,1)

回顾: 平行投影变换 斜平行投影变换Moblique 规范化

透视投影观察体 视觉棱锥体(类似于人眼的视觉圆锥体) 棱台: 裁剪窗口:位于投影平面上 近裁剪平面:去除大对象 远裁剪平面:去除小对象

棱台观察体 投影后可能过小而难以辨别 投影后可能过大而难以辨别 约定2:裁剪平面在投影中心和观察对象之间。 约定3:近裁剪平面在投影中心和远裁剪平面之间。 棱台观察体 投影后可能过小而难以辨别 投影后可能过大而难以辨别

透视投影观察体的种类 对称透视投影棱台 投影中心到裁剪窗口中心的连线垂直于投影平面 斜透视投影棱台 错切

对称棱台观察体 定义方法: 投影中心位置+远近裁剪面Z坐标 +裁剪窗口尺寸+Zvp/视场角 作用 是规范化和裁剪的依据

对称透视观察体的变换示意图 透视变换

例:约定前提下的斜棱台观察体 约定:投影中心为原点,投影平面就是近裁剪平面 经过错切后,xy坐标变化,z不变

斜棱台错切成对称棱台示意图

例:约定前提下的斜对称透视变换 注意:不符合约定前提时,可能需进行更多的变换如平移等,相应错切参数也需重新计算。

透视投影的规范化 经过前面的错切和透视变换 z轴已经垂直于投影平面且穿越窗口中心 已获得齐次投影坐标 已获得矩形管道观察体 注意:不符合约定前提时,可能需进行更多的变换如平移等,相应参数也需重新计算。 透视投影的规范化 经过前面的错切和透视变换 z轴已经垂直于投影平面且穿越窗口中心 已获得齐次投影坐标 已获得矩形管道观察体 xh yh zh h x y z 1 = Mpers Mzshear

透视投影的规范化(续) 此时假定左手规范化坐标系如右图所示: sz,tz可求出 只需再考虑x、y方向上的缩放即可。 (Sz·Z+tz)/(h)[-1,1] Sz·Zfar+tz = 1 · hmax = zprp-zfar Sz·Znear+tz = -1 · hmin = znear-zprp 另外,在错切之前,需考虑坐标系变换的问题:将世界坐标系下的任意观察坐标系(投影平面及其法向量),变换到前述的简单情况。

相对于规范化观察空间的裁剪 裁剪平面:规范化立方体的六个面 在齐次坐标下进行裁剪 线条:CB或梁B算法 多边形:包围盒(球)测试、对对象各表面的顶点表采用二维裁剪的方法。逐步修改表面的顶点表、获得新的表面顶点表、修改共享边信息等等。

任意裁剪平面 给出平面方程 处理各对象每个表面的顶点(边) 求解交点参数 最终将场景切割为两个部分并获得剖切位置视图

我们获得了什么? 对象的三维坐标 经过投影变换的 经过规范化变换的 经过裁剪的 x和y是落在观察平面上的坐标 视口范围内 z是深度信息

OpenGL三维观察函数 //下面这个函数指定平行投影观察体 //下面两个函数指定透视投影观察体 //下面函数用于指定观察位置 x(y,z)ref V’ 问题:平行/透视投影用什么方式实现缩放? V 平行投影:几何变换,视口尺寸改变 透视投影:几何变换,视口尺寸改变,视点位置改变 x0,y0,z0 观察平面

void lineSegment() { GLdouble equ[4]={0.8,3.5,0.0,0.8}; /*剪裁平面的ABCD四个系数*/ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1,0,0); glLoadIdentity(); glScalef(0.5,1,1); glClipPlane(GL_CLIP_PLANE0,equ); glEnable(GL_CLIP_PLANE0); glutWireTeapot(200); glFlush(); } void init() { glClearColor(0.0,0.0,0.0,0.0); glMatrixMode(GL_PROJECTION); glOrtho(-400.0,400.0,-200.0,200.0,400,-400); glMatrixMode(GL_MODELVIEW); gluLookAt(0, 100, 200, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); } { GLdouble equ[4]={0.8,3.5,0.0,0.8}; /*剪裁平面的ABCD四个系数*/ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1,0,0); glLoadIdentity(); glScalef(0.5,1,1); glClipPlane(GL_CLIP_PLANE0,equ); glEnable(GL_CLIP_PLANE0); glOrtho(-200.0,200.0,-200.0,200.0,400,-400); gluLookAt(0, 100, 200, 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f);

void lineSegment() { GLdouble equ[4]={0.8,3.5,0.0,0.8}; /*剪裁平面的ABCD四个系数*/ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1,0,0); glLoadIdentity(); glScalef(0.5,1,1); glClipPlane(GL_CLIP_PLANE0,equ); glEnable(GL_CLIP_PLANE0); glutWireTeapot(200); glFlush(); } void init() { glClearColor(0.0,0.0,0.0,0.0); glMatrixMode(GL_PROJECTION); glOrtho(-400.0,400.0,-200.0,200.0,400,-400); glMatrixMode(GL_MODELVIEW); gluLookAt(0, 0, 200, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); } { GLdouble equ[4]={0.8,3.5,0.0,0.8}; /*剪裁平面的ABCD四个系数*/ glClipPlane(GL_CLIP_PLANE0,equ); glEnable(GL_CLIP_PLANE0); glLoadIdentity(); glScalef(0.5,1,1); glOrtho(-400.0,400.0,-400.0,400.0,400,-400);

gluPerspective(45.0f, 1.0f, 0, 400.0f); void init() { glClearColor(0.0,0.0,0.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f, 1.0f, 0, 400.0f); glMatrixMode(GL_MODELVIEW); gluLookAt(0, 100, 200, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); } 问题:视点远离会怎样? gluPerspective(45.0f, 1.0f, 250, 400.0f); gluPerspective(45.0f, 1.0f, 200, 400.0f);

gluPerspective(45.0f, 1.0f, 0, 400.0f); gluLookAt(0, 100, 200, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); gluLookAt(0, 0, 200, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); gluLookAt(0, 100, 400, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); gluPerspective(45.0f, 1.0f, 0, 400.0f);