当前页面: 开发资料首页 → 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事件处理中的应用