- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CylinderSensor节点.doc
CylinderSensor节点 CylinderSensor{ minAngle 0 # expected field SFFloat maxAngle -1 # expected field SFFloat enable TRUE # expected field SFFBool diskAngle 0.262 # expected field SFFloat offset 0 # expected field SFFloat autoOffset TRUE # expected field SFFBool } ? 域 minAngle 允许旋转的最小角度(旋转角小于此范围时,仍被钳制在这一范围内)。? maxAngle 允许旋转的最大角度(旋转角大于此范围时,仍被钳制在这一范围内)。? enable 指明传感器是否监控定点设备事件。若想关闭监控,可向它发送一个值为FALSE的set_value事件。 diskAngle 决定被监控对象的动作是象一个圆柱或象磁碟绕y轴旋转。若用户在圆柱轴附近点击,被监控对象的动作象磁碟转动,否则象圆柱一样转动。 offset 指出从初始方向转动被监控对象的角度值。 autoOffset 指出是否在每次拖动完成后将当前的方向角存入offset域,以达到跟踪当前方位的目的。如果autoOffset是FALSE,每当用户开始一个新的托动时,被拖动几何体恢复至最初的方位。 ? 事件 isActive eventIn???? SFBool指出用户是否正在拖曳被监控的几何体。? trackPoint_changed evevtOut??? SFVec3f输出用户随时所指向的在圆柱或磁碟轨迹面上的轨迹的点。? rotation_changed eventOut??? SFRotation输出旋转角度。 ? 说明 ??? 圆柱监控器节点把二维的拖曳输入(如拖曳鼠标)转变为三维空间中沿y轴的旋转。根据用户点击的位置(相当于传感器的y轴),CylinderSensor节点可以有两种相关行为,即象一个圆柱或象磁碟绕y轴旋转。??? 当用户移动鼠标至可感知几何体并按下按键时,浏览器产生一个绕监控器局部坐标系统y轴的虚拟圆柱,这个圆柱的底和测面大小的比例由diskAngle确定。可以把diskAngle看做是一个在虚拟圆柱内部的圆锥的顶角,圆锥的底面圆盘即为圆柱的顶面。? 如果用户点中圆柱的顶或低面,拖曳动作就会被解释为和旋转一个平面圆盘一样。如果用户点中圆柱的侧面部分,拖曳动作就会被解释为旋转这个圆柱。如果仅仅对特殊的旋转范围有兴趣,可以通过设置minAngle和maxAngle的值把旋转限制在那一范围内。如果minAngle大于maxAngle,就没有任何限制了。? 如果希望几何体在已旋转的基础上继续旋转,则设置autoOffset为TURE,否则设置为FALSE.? 当圆柱监控器处于激活状态时(即当用户拖曳感知物体时),其它定点设备传感器不会作任何事件。 第三讲 VRML交互程序编程
利用Interpolator内插器节点和TimeSensor时间传感器节点,再加上ROUTE语句,人们可以编写出VRML动画程序。利用其它传感器Sensor节点,人们可以编写出VRML交互程序。下面我们对这些节点一一介绍:
一. CylinderSensor节点
作用: 可使鼠标的移动转变成形体的绕自身Y轴的旋转运动。
通过坐标变换,可使形体绕任意轴旋转。
可以用鼠标拖动一个形体,来使自身旋转。
也可以用鼠标拖动一个形体,来使另一个形体旋转
主要字段: maxAngle 可用来控制最大旋转角度
minAngle 可用来控制最小旋转角度
rotation_changed 向外发出的旋转信号
编程步骤1: 利用Transform构造一个坐标系,里面放置两个内容:一个形体和一个CylinderSensor,它们放置在一个方扩弧里面。
用DEF对Transform和CylinderSensor命名,假设Transform的名字为NAMETT,CylinderSensor的名字为NAMECC。
编程步骤2: 通过编写一个ROUTE语句,使鼠标的移动变成形体的转动。
编写的ROUTE语句为:ROUTE NAMECC.rotation TO NAMETT.rotation(也可以写成:ROUTE NAMECC.rotation_changed TO NAMETT.set_rotation)
#VRML V2.0 utf8
DEF TRAN Transform {
children [
Shape {
appearance Appe
您可能关注的文档
最近下载
- 用高倍显微镜观察叶绿体和细胞质流动实验.doc VIP
- 总账会计面试题目及答案.doc VIP
- 测绘安全生产事故报告及处置办法.docx VIP
- 最新版精选食品安全管理员完整题库298题(含答案) .pdf
- 造纸用压滤脱水靴套加工设备.pdf VIP
- 【腾讯广告营销洞察】Z世代消费力白皮书.pdf VIP
- 统编版(2024)新教材小学三年级道德与法治上册第二单元《爱科学 学科学》(复习课件).pptx VIP
- 一例基于5A护理模式下的AECOPD患者肺康复改善护理个案(1) PPT课件.pptx VIP
- 湘美版小学六年级美术上册-《田间的精灵》同步课件.pptx VIP
- 广州市居住小区配套设施建设暂行规定.doc VIP
原创力文档


文档评论(0)