第六章 第三节 几何变换.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 第三节 几何变换

第四章 第三节 几何变换 ??? 在VRML中,Transform节点是一个基本结构,它是一个常见的群组节点(Grouping node),可以作许多物体的容器。然而,Transform提供了更强大的功能,在计算机图形中,“运动”总是和变换(transformation)紧密相连的—无论是缩放比例、旋转或是平移。VRML2.0中,Transform节点将其定义的变换施加于物体。它的各字段的缺省值定义如下: Transform { center 0 0 0 translation 0 0 0 rotation 0 0 1 0 scale 1 1 1 scaleOrientation 0 0 1 0 children [ ] } ??? VRML场景图包含许多群组节点以便定义一个方便的等级来操纵场景。当然,也可以把Transform和其它节点组成群组节点(例如,在一个物体等级的内部某一层放置一个传感器,用一个事件触发它,但同时又保留着操纵整个组活动的能力)。 ??? Transform字段的值,例如转变或旋转,可以由任何Shape节点或它的子节点所继承。子节点的关键字children声明下列节点是父组节点的子节点。在程序例1.4中,我们将介绍场景中名为CUBE的Box和它的外观,然后用Transform父组节点转变、变化大小,旋转Box。 程序例5.2.4 cube.wrl #VRML V2.0 utf8 #move the Box DEF transformCUBE Transform { translation –3.0 2.0 1.0 children [ DEF CUBE Shape { appearance Appearance { material Material { diffuseColor 1 0 0 specularColor 0.9 0.9 0.9 } } geometry Box { } } ] } ?? 图5-2-4 cube.wrl   ??? 在此例中,Box节点的位置被转移,沿Z轴的负轴向左平移了3米,沿Y轴正轴向上移了2米,沿Z轴正轴方向移了1米。 ??? 注意:无论何时你使用任何类型的群组节点来管理VRML场景图形元素,你都必须在子节点字段中指定群组节点的内容。父节点定义了本地的坐标空间,子节点从父节点中继承了Transform,依次地这些父节点又继承了它们的父节点中的Transform,使得本地的translation、scaling或rotation 变换经常与较高群组的最后的Transform执行有关。也就是说,群组节点的Transform字段在结构中积累。 ??? 为了检验这个等级结构继承关系,我们在场景中同时在TransformCUBE、TransformCONE群组节点内外添加几何图形对象。 程序例5.2.5 vrmllogo.wrl #VRML V2.0 utf8 #move the Box DEF transformCUBE Transform { translation -3.0 2.0 1.0 children [ DEF CUBE Shape { appearance Appearance { material Material{ diffuseColor 1 0 0 specularColor 0.9 0.9 0.9 } } geometry Box{} }   DEF transformBALL Transform { translation 3.0 –2.0 0 children [ DEF BALL Shape { appearance Appearance { material Material{ diffuseColor 1 0 0 specularColor 0.9 0.9 0.9 } } geometry Sphere{} } ] } ] }   DEF transformCONE Transform { translation 3 0 0 children [ DEF CONE Shape { appearance Appearance { material Material { diffuseColor 0 0 1 specularColor 0.9 0.9 0.9 } } geometry Cone{} } ] } DirectionalLight { direction -1 -1 -5 intensity 0.8 } ?? 图5-2-5 vrmllogo.wrl ??? CONE是在transformCUBE层的外部定义的,它提供了一个指向CUBE和BALL的translation的参考值。CONE不受在CUBE和BALL完成的Transf

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档