站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题X3D实战基础讲座之六

X3D实战基础讲座之六

摘要: 在X3D场景空间中,为了能够让浏览者方便地控制自己的观察位置和角度,X3D提供了视点节点Viewpoint
<table cellSpacing=0 cellPadding=5 width=570 bgColor=#fbe392 border=0> <tr> <td> <table cellSpacing=0 cellPadding=5 width=570 border=0> <tr> <td align=middle width=200 bgColor=#e1b004>天极IT资讯短信服务 电脑小技巧
<table cellSpacing=0 cellPadding=3 width="100%" bgColor=#fffcc0 border=0> function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } <form name=dn onsubmit="return check4()" action=http://www.my5757.com/tj/join.jsp target=_blank> <tr vAlign=center> <td>资费:包月5元
手机: <input style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 16px" size=11 name=mobile> <input type=image height=18 width=45 src="http://www.my5757.com/yesky/images/d34.gif" align=middle border=0 name=image2> </td></tr><input type=hidden value=yjq name=stype> </form></table></td> <td width=370 bgColor=#fbc403>介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 </td></tr></table></td></tr></table>

  在X3D场景空间中,为了能够让浏览者方便地控制自己的观察位置和角度,X3D提供了视点节点Viewpoint。同时为了能以不同方式来浏览,X3D提供了NavigationInfo导航节点。

  下面就来介绍这两个节点的使用。

  一、Viewpoint节点

  Viewpoint节点指明了一个X3D场景空间中的观察位置和视角方向,其主要属性如下表如下:

<table cellSpacing=0 width="100%" border=1> <tr> <td width="19%">属性</td> <td width="14%">含义</td> <td width="10%">默认值</td> <td width="57%">使用说明</td></tr> <tr> <td width="19%">description </td> <td width="14%">视点的文字描述 </td> <td width="10%">-- </td> <td width="57%">指定的视点描述文字将出现在其快捷菜单上</td></tr> <tr> <td width="19%">position </td> <td width="14%">视点位置 </td> <td width="10%">0 0 10</td> <td width="57%">指定观察者所在的空间位置</td></tr> <tr> <td width="19%">orientation </td> <td width="14%">视点方向</td> <td width="10%">0 0 1 0 </td> <td width="57%">前3个值是空间坐标点,该点和原点相连的线为方向轴,第4个值为旋转角度(以弧度为单位)</td></tr> <tr> <td width="19%">fieldOfView</td> <td width="14%">变焦角度 </td> <td width="10%">0.785398 </td> <td width="57%">单位是弧度,取值范围0~3.14159,小的角度相当于长镜头, 大的角度相当于广角镜头。</td></tr> <tr> <td width="19%">jump </td> <td width="14%">是否为跳转</td> <td width="10%">True </td> <td width="57%">立刻转换到这个镜头设置 (jump值为True), 或平滑的动态转换到这个镜头(jump值为False)。该属性可能不起作用</td></tr> <tr> <td width="19%">centerOfRotation</td> <td width="14%">旋转中心位置</td> <td width="10%">0 0 0 </td> <td width="57%">当导航为"EXAMINE"方式时,该点为转动中心</td></tr></table>


  简单的示例代码如下:



  说明:上面代码是用来以不同方位观看圆柱体。代码中,最难理解的就是视点的位置和视角。默认时,我们的人眼是处在+Z方向,当视点位置处在圆柱体后面时,即"Back"视点,我们人眼观察方向仍然是向里的方向,必需由里向外观察才能看到圆柱体,因此我们将视角绕Y轴旋转180度。同理可以理解Top和Left视点的设置。

  结果如下图所示。



  在场景中右击鼠标后,弹出如图的快捷菜单,上述节点定义的视点名称出现该菜单中,如下图所示。



  选择Back后,场景自动动态变换,结果如下图所示:



  类似的,Top结果如下图所示。



  若将Back视点的fieldOfView属性将原来默认的0.785398改为0.2,即:



  则结果如下图所示,注意与前面的比较。



zmbbs=1;




↑返回目录
前一篇: 用Java从XML文件中获取业务图表
后一篇: Adapter在J2SE事件处理中的应用