【问题标题】:WPF 3D Perspective camera questionWPF 3D透视相机问题
【发布时间】:2011-02-20 15:16:39
【问题描述】:

我正在开发一个 3D 翻转控件,它可以水平、垂直翻转,并且可以具有任意大小和正方形或矩形形状。

当我让它工作时,我遇到了透视相机的一个非常奇怪的问题。当我创建一个 MeshGeometry3D 时,我会根据内容的适当比例进行缩放。如果宽度>高度,一切都很好。但是,如果高度 > 宽度,则 3d 网格的尺寸太小。

解决此问题的唯一方法是(如果高度 > 宽度)将透视相机上的 UpDirection 从 0 1 0 更改为 1 0 0 并应用 90 度旋转变换。当我这样做时,一切看起来都很完美。

有人知道这是为什么吗?透视相机在调整网格大小时是否只考虑宽度?

谢谢!

【问题讨论】:

    标签: wpf 3d camera flip perspective


    【解决方案1】:

    尝试使用FieldOfView 属性。这是相机“看到”场景的角度。在您的情况下,将比率乘以 height / width 而不改变 FoV 就足够了。

    【讨论】:

    • 试一试,但无法弄清楚正确的角度是什么——如果默认角度是 90,高度是 400,宽度是 200,那么我认为角度应该是 57 左右(使用一些非常生锈的三角函数!)。但是网格不是很精确...?
    猜你喜欢
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多