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

MDX 3D 平移實作(一):正交投影帶來的直觀平移體驗

     編輯:關於.NET

專案背景與困境

地質專案需 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 控件的直觀平移效果。靈感來源於林銳博士的開源專案。

下一步預告

下篇將詳細講解平移的具體實現:滑鼠位移換算世界座標位移、矩陣更新等細節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved