- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
图形消隐1
图形消隐?基本概念?提高消隐算法效率的常用方法?画家算法?Z缓冲器算法?扫描线Z缓冲器算法?OpenGL相关函数2
基本概念?问题?投影变换失去了深度信息,往往导致图形的二义性及失去遮挡关系失去遮挡关系3
基本概念?消隐的对象?三维物体?三维体的表示主要采用边界(多边形)表示?消隐结果?与观察物体有关,也与视点位置和方向有关线框图消隐图真实感图形5
基本概念?消隐分类?消除隐藏线:消除不可见线——线框表示物体?消除隐藏面:确定可见面(消除不可见面)——表面表示物体6
基本概念?世界坐标系用户用来定义图形的坐标系,主要用于计算机图形场景中所有图形对象的空间定位和定义。?观察坐标系可以在世界坐标系的任何位置、任何方向定义,通常以视点的位置为原点,通过用户指定的一个向上的观察向量来定义整个坐标系统。vnyuP0(x0,y0,z0)xz7
基本概念?将世界坐标系中的三个坐标轴转换为与观察坐标系的三个坐标轴对应重合的逆变换?平移变换,将观察参考点移到世界坐标系的原点处?1000??0100??0010???x?y?z1??000?T1????0010??旋转变换,将u,v,n分别对应到x,y,z即绕x轴旋转?角,绕y轴旋转?角,绕z轴旋转?角?1000??cos?0?sin?0??cos?sin?00??0cos?sin?0??0100???sin?cos?00??0?sin?cos?0??sin?0cos?0??0010???0001????0001????0001??T2??????????0?sin?cos?0??sin?0cos?0??0010?8
消除隐藏线?体=n个面?基本运算?线线间求交运算?线面间求交运算9
消除隐藏线?平面对直线段的遮挡判断算法?思路:先做简单判断,将计算量较大的判断留到后面做10
消除隐藏线?(1)若线段的两端点及视点在给定平面的同侧,线段不被给定平面遮挡?(2)若线段的投影与平面投影的包围盒无交,线段不被给定平面遮挡,转7?11
消除隐藏线?(3)求直线与相应无穷平面的交。若无交点,转4。否则,交点在线段内部或外部。若交点在线段内部,交点将线段分成两段,与视点同侧的一段不被遮挡,另一段在视点异侧,转4再判;若交点在线段外部,转4。P012
?(4)求所剩线段的投影与平面边界投影的所有交点。若无交点,转5P0P1P2P3P4P513
?(5)以上所求得的各交点将线段的投影分成若干段,求出第一段中点。?(6)若第一段中点在平面的投影内,则相应的段被遮挡,否则不被遮挡;其他段的遮挡关系可依次交替取值进行判断。P0P1P2P3P4P514
消除隐藏线HiddenLineRemove()求每条边上的遮挡While(栈不空){{坐标变换;Ei,j0=栈顶;for(j!=j0的每一个面Fj){for(对每个面Fj)for(Fj的每一条边Ei)将二元组Ei,j压入堆栈While(栈不空){if(Ei被Fj全部遮挡)Ei,j0=栈顶;for(j!=j0的每一个面Fj){{将Ei清空;break;}简单的剔除if(Ei被Fj部分遮挡){if(Ei被Fj全部遮挡){将Ei清空;break;}从Ei中将被遮挡的部分裁掉;if(Ei被Fj部分遮挡){if(Ei被分成若干段){从Ei中将被遮挡的部分裁掉;取其中的一段作为当前Ei段;将其它段及相应的j压栈;if(Ei被分成若干段){取其中的一段作为当前Ei段;将其它段及相应的}j压栈;}}分治策略}}if(Ei段不为空)}if(Ei段不为空)显示Ei;显示Ei;}}}15
基本概念?面消隐算法分类?投影窗口内的像素为处理单元——确定最近点for(窗口内的每一个像素)图像空间-image-space{确定距视点最近的物体,以该物体表面的颜色来显示像素}16
基本概念?面消隐算法分类(续)?场景中的物体为处理单元——物体上的面是否最近for(场景中的每一个物体){物体空间-object-space将其与场景中的其它物体比较,确定其表面的可见部分;显示该物体表面的可见部分;}17
提高消隐算法效率的常用方法?主要技术1.利用连贯性(SpatialCoherence)?相邻物体的属性之间有一定的连贯性,其属性值通常是平缓过渡的,如颜色值、空间位置关系等?包括:?物体连贯性?面的连贯性?区域连贯性?扫描线连贯性?深度连贯性18
提高消隐算法效率的常用方法?包围盒技术定义:一个形体的包围盒指的是包围它的简单形体两个条件?包围盒充分紧密包围着形体?对其的测试比较简单主要包围盒?长方体?正方体?球19
提高消隐算法效率的常用方法作用—避免盲目求交?两个空间多边形A、B在投影平面上的投影分别为A’,B’,因为A’、B’
原创力文档


文档评论(0)