2015-06-08 31 views
1

在C#WPF如何自動設置基於3DModel大小相機位置基於型號尺寸的相機位置?

例如,如果我加載小模型,位置更接近,如果我加載大型模型相機位置更長。

我的想法是從每方模型得到最大Point3D

- 通過X值查找最大值和最小值點3D。

- 通過Y值查找最大和最小點3D。

這是由foreach循環通過所有3D點。

現在我在邊緣有4個點,但如何計算相機位置?

是否有任何公式可以獲得正確的位置並添加一些額外的長度來定位?

回答

1

所有取決於您使用的框架/庫,但我想你必須使用相機的FOV來計算相機在一定距離上「看到」的寬度和高度。

Camera

如果你看看相機的原理,在FOV是該攝像頭看到的東西的角度。它可能是您的Camera對象的成員變量。將三角形分成兩部分將爲您提供兩個具有已知角度的直角三角形(1/2 FOV)。基礎數學應該讓你計算視窗的距離和大小。

既然你已經有4分,你已經知道'L'(在原理圖中)應該有多大。

+0

.net 4.5,如何設置視野?它的行爲更像是縮放。我真的不知道它是如何工作的,btw如何計算? –

+0

感謝您的解釋我明白了。 –