首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

X3D 實戰基礎講座(五):Transform 幾何變換 — 平移、旋轉、縮放

     編輯:Java 相關知識

Transform 是 X3D 中唯一的幾何變換節點,通過修改其屬性實現子節點的平移、旋轉、縮放、中心點偏移等仿射變換。本講逐項講解屬性語義、代碼示例、綜合實例構建 3D 坐標軸。

Transform 核心屬性

單一變換示例

平移

平移代碼

平移效果

Transform 為組節點,Shape 必須作為子節點。第二個球平移至 (3,0,0)。

旋轉

旋轉代碼

旋轉效果

立方體先平移至 (3,0,0),再繞自身原點 (Z軸) 旋轉 45° (0.785 rad)。

修改旋轉中心

中心點代碼

將 center 設為 (0.5,0,0) (立方體右側面中心),旋轉效果顯著不同。

新中心旋轉效果

縮放

縮放代碼

縮放效果

第二個球 X/Y/Z 縮放因子 1/3/0.5,變為橢球體。

綜合實例:構建 3D 坐標軸

坐標軸代碼

思路:

  1. 用 Cylinder (桿) + Cone (箭頭) 組合成 Y 軸
  2. 用 Group 合併為組 Axis
  3. 複製 Axis,分別繞 Z 軸旋轉 -90° (X軸)、繞 X 軸旋轉 90° (Z軸)
  4. 賦予不同顏色材質 (紅/綠/藍)

坐標軸效果

總結

掌握 translation/rotation/scale/center 交互關係,特別是 center 改變旋轉/縮放基準點的機制,是構建複雜 3D 場景佈局、動畫骨架的基礎。視角控制可通過 Viewpoint 節點實現,下一講將介紹基本 3D 幾何體創建。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
屬性含義默認值說明
translation平移向量0 0 0移動到指定空間點
rotation旋轉 (軸角: x y z 角度弧度)0 0 1 0前三值為旋轉軸向量,第四值為弧度角
center變換中心點0 0 0以此點為基準旋轉/縮放
scale縮放因子 (x y z)1 1 1各軸方向縮放倍數
scaleOrientation縮放前預旋轉 (軸角)0 0 1 0允許沿任意方向縮放
bboxCenter/bboxSize包圍盒中心/大小0 0 0 / -1 -1 -1優化碰撞/剔除,通常自動計算