【问题标题】:Camera position based on model size?基于模型大小的相机位置?
【发布时间】:2015-06-08 12:18:39
【问题描述】:

在 C# WPF 中如何自动根据3DModel 大小设置相机 位置 >.

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

我的想法是从模型的每一侧获取 MaxMin Point3D

-通过 X 值查找 Max 和 Min point3D。

-通过 Y 值查找 Max 和 Min point3D。

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

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

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

【问题讨论】:

    标签: c# wpf camera


    【解决方案1】:

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

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

    由于您已经有了 4 个点,因此您已经知道“L”(在示意图中)应该有多大。

    【讨论】:

    • .Net 4.5,如何设置视野?它的行为更像是缩放。我真的不知道它是如何工作的,顺便说一句如何计算?
    猜你喜欢
    • 2015-11-15
    • 2018-08-23
    • 2020-05-01
    • 2021-11-15
    • 2021-06-19
    • 2021-05-21
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多