基于模型大小的相机位置?

Camera position based on model size?

在 C# WPF 中如何自动设置相机位置基于3DModel 尺寸.

例如,如果我加载小模型,位置更近,如果我加载大模型相机位置更长。

我想的是从每一侧的模型中获得 MaxMin Point3D

-通过X值查找最大和最小点3D。

-通过Y值查找最大和最小点3D。

这是通过 foreach 遍历所有 3D 点来完成的。

现在我在边缘有4个点,但是如何计算相机位置?

是否有任何公式可以得到正确的位置并为位置增加一些额外的长度?

一切都取决于您使用的框架/库,但我猜您必须使用相机的 FOV 来计算相机在一定距离内可以 'see' 的宽度和高度。

如果你看一下相机的示意图,FOV 就是相机看到东西的角度。它可能是您的 Camera 对象的成员变量。将三角形一分为二将为您提供两个已知角度(1/2 FOV)的直角三角形。基础数学应该让你计算视窗的距离和大小。

既然你已经有了 4 个点,你就知道 'L'(在示意图中)应该有多大。