cylindersensor节点

cylindersensor节点

ID:13900757

大小:44.50 KB

页数:3页

时间:2018-07-24

cylindersensor节点_第1页
cylindersensor节点_第2页
cylindersensor节点_第3页
资源描述:

《cylindersensor节点》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、CylinderSensor节点CylinderSensor{minAngle0#expectedfieldSFFloatmaxAngle-1#expectedfieldSFFloatenableTRUE#expectedfieldSFFBooldiskAngle0.262#expectedfieldSFFloatoffset0#expectedfieldSFFloatautoOffsetTRUE#expectedfieldSFFBool} 域minAngle允许旋转的最小角度(旋转角小于此范围时,仍被钳制在这一范围内)。 maxAngle允许旋转的最大角度(旋转角大

2、于此范围时,仍被钳制在这一范围内)。 enable指明传感器是否监控定点设备事件。若想关闭监控,可向它发送一个值为FALSE的set_value事件。diskAngle决定被监控对象的动作是象一个圆柱或象磁碟绕y轴旋转。若用户在圆柱轴附近点击,被监控对象的动作象磁碟转动,否则象圆柱一样转动。offset指出从初始方向转动被监控对象的角度值。autoOffset指出是否在每次拖动完成后将当前的方向角存入offset域,以达到跟踪当前方位的目的。如果autoOffset是FALSE,每当用户开始一个新的托动时,被拖动几何体恢复至最初的方位。 事件isActiveevent

3、In    SFBool指出用户是否正在拖曳被监控的几何体。 trackPoint_changedevevtOut   SFVec3f输出用户随时所指向的在圆柱或磁碟轨迹面上的轨迹的点。 rotation_changedeventOut   SFRotation输出旋转角度。 说明   圆柱监控器节点把二维的拖曳输入(如拖曳鼠标)转变为三维空间中沿y轴的旋转。根据用户点击的位置(相当于传感器的y轴),CylinderSensor节点可以有两种相关行为,即象一个圆柱或象磁碟绕y轴旋转。   当用户移动鼠标至可感知几何体并按下按键时,浏览器产生一个绕监控器局部坐标系统y轴

4、的虚拟圆柱,这个圆柱的底和测面大小的比例由diskAngle确定。可以把diskAngle看做是一个在虚拟圆柱内部的圆锥的顶角,圆锥的底面圆盘即为圆柱的顶面。 如果用户点中圆柱的顶或低面,拖曳动作就会被解释为和旋转一个平面圆盘一样。如果用户点中圆柱的侧面部分,拖曳动作就会被解释为旋转这个圆柱。如果仅仅对特殊的旋转范围有兴趣,可以通过设置minAngle和maxAngle的值把旋转限制在那一范围内。如果minAngle大于maxAngle,就没有任何限制了。 如果希望几何体在已旋转的基础上继续旋转,则设置autoOffset为TURE,否则设置为FALSE. 当圆柱监控

5、器处于激活状态时(即当用户拖曳感知物体时),其它定点设备传感器不会作任何事件。第三讲VRML交互程序编程利用Interpolator内插器节点和TimeSensor时间传感器节点,再加上ROUTE语句,人们可以编写出VRML动画程序。利用其它传感器Sensor节点,人们可以编写出VRML交互程序。下面我们对这些节点一一介绍:一.CylinderSensor节点作用:可使鼠标的移动转变成形体的绕自身Y轴的旋转运动。通过坐标变换,可使形体绕任意轴旋转。可以用鼠标拖动一个形体,来使自身旋转。也可以用鼠标拖动一个形体,来使另一个形体旋转主要字段:maxAngle可用来控制最大

6、旋转角度minAngle可用来控制最小旋转角度rotation_changed向外发出的旋转信号编程步骤1:利用Transform构造一个坐标系,里面放置两个内容:一个形体和一个CylinderSensor,它们放置在一个方扩弧里面。用DEF对Transform和CylinderSensor命名,假设Transform的名字为NAMETT,CylinderSensor的名字为NAMECC。编程步骤2:通过编写一个ROUTE语句,使鼠标的移动变成形体的转动。编写的ROUTE语句为:ROUTENAMECC.rotationTONAMETT.rotation(也可以写成:R

7、OUTENAMECC.rotation_changedTONAMETT.set_rotation)#VRMLV2.0utf8DEFTRANTransform{children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryCylinder{}}DEFTTTCylinderSensor{}]}ROUTETTT.rotation_changedTOTRAN.set_rotationBackground{skyColor111}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。