国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JSR 184:3D坐標系和定位總結

2019-11-18 16:15:30
字體:
來源:轉載
供稿:網友

3D空間的坐標系統如左邊的插圖1所示。它被稱為世界坐標系,3D屏幕中的所有物體都可以在該坐標系系統下移動和旋轉。

對于屏幕上的所有物體來說,這個坐標系系統都是相同的,并且它不會改變。用戶默認的觀察視角是沿著Z軸的負半軸方向。

JSR 184:3D坐標系和定位總結(圖一) JSR 184:3D坐標系和定位總結(圖二)

                             插圖1

 

除了世界坐標系外,每個物體都有一個本地坐標系系統,而figure也可以在本地坐標系系統下移動,如插圖2。

這兩個坐標系系統最大的不同就是本地坐標系系統的方位可以改變;當figure旋轉時,本地坐標系統也會跟著figure一起旋轉,如插圖3。(譯者注:本地坐標系是相對于對象的原點的3D坐標系,而世界坐標系是相對于3D世界的原點三維坐標系)。

JSR 184:3D坐標系和定位總結(圖三) JSR 184:3D坐標系和定位總結(圖四)

          插圖2                     插圖3 

 

我們有時會被搞混淆。例如,如果在本地坐標系下的一個figure,先在Z軸上旋轉90度,然后在Y軸上平移,而在世界坐標系下觀察到的效果則是它在X軸上平移。


當旋轉一個物體時,如果依靠提供的方法去旋轉它,可能得到不同的結果。Mesh可以相對于它的本地中心平移和旋轉,也可以相對于它的世界中心平移和旋轉。如插圖4。

在JSR 184中,平移和旋轉可以用于所有Transformable的對象,它們包括:Mesh, Light, Camera, Group和SPRite3D。使用Transform和Transformable類都可以實現平移和旋轉。

JSR 184:3D坐標系和定位總結(圖五)

          插圖4

 

在JSR 184里,它也可能添加一個Mesh到Group里。例如,如果一個Group添加到世界中,然后一個Mesh添加到這個Group中,結點(Node)的平移將相對于根坐標系下完成。

 

基本函數如下:

 

Transformable

- postRotate(float angle, float ax, float ay, float az)
- translate(float tx, float ty, float tz)

 

Transform:
- postRotate(float angle, float ax, float ay, float az)
- postTranslate(float tx, float ty, float tz)

 

mesh.postRotate(3.0f, 1.0f, 0.0f, 0.0f);
當直接旋轉Transformable對象時,該物體將相對于本地坐標系系統的原點旋轉。

 

transform.postRotate(3.0f, 1.0f, 0.0f, 0.0f);
mesh.setTransform(transform);
當使用Transform類的方法旋轉時,該物體將相對于它自己的中心旋轉。


 

mesh.translate(0.0f, 0.0f, 5.0f);
當使用Transformable類的方法移動物體時,該物體將在它的根結點的坐標系系統下移動。

 

transform.postTranslate(0.0f, 0.0f, 5.0f);
mesh.setTransform(transform)
當使用Transform類的方法移動物體時,該物體將在本地坐標系系統下移動。

 

點擊這里下載源代碼,就可獲得這些不同方法的直觀效果。

原文地址

 

本文使用JSR 184 API簡短的介紹了3D世界(World)下的坐標系系統和定位。

 

下載源程序

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四会市| 二手房| 出国| 中超| 遂川县| 台南市| 遵义市| 涟水县| 防城港市| 濮阳县| 改则县| 安西县| 临江市| 共和县| 禄丰县| 昭苏县| 山阳县| 姚安县| 孟村| 抚顺县| 佛教| 永春县| 芷江| 蓝山县| 株洲市| 洛南县| 平罗县| 新昌县| 浪卡子县| 四会市| 报价| 怀来县| 萨嘎县| 和平区| 永靖县| 花莲市| 台南县| 五大连池市| 扶绥县| 三都| 阿拉尔市|