地質專案需 3D 圖形顯示,二維成熟但 3D 經驗缺乏。最頭疼的是資料稀缺、求助無門。花費兩個月攻克平移與旋轉,現分享心得。

// 透視投影(預設)
device.Transform.Projection = Matrix.PerspectiveFovLH(
(float)Math.PI / 4, (float)this.Width / this.Height, min, max);
// 正交投影(平移模式)
device.Transform.Projection = Matrix.OrthoLH(this.Width, this.Height, min, max);
僅切換投影矩陣,即可獲得類似 EyeShot 等專業 3D 控件的直觀平移效果。靈感來源於林銳博士的開源專案。
下篇將詳細講解平移的具體實現:滑鼠位移換算世界座標位移、矩陣更新等細節。