【问题标题】:rotate cammera around center of object wpf围绕对象wpf的中心旋转相机
【发布时间】:2011-06-27 15:19:40
【问题描述】:

Expression blend 可让您导入 3d 模型。我想用代码为 3d 对象设置动画。我似乎无法弄清楚我必须修改哪些属性值才能使对象旋转。让我告诉你我的意思:

所以如果我想旋转这个对象,我可以使用相机轨道工具,如果我使用它,我可以得到类似的结果:

我知道我可以创建故事板并通过修改对象来创建动画。我需要使用滑块沿 x 轴旋转对象。如果我只修改一个值,它会以一种奇怪的方式旋转,如果我愿意,我实际上必须更改几个属性。例如,当我使用相机轨道工具沿 x 轴旋转对象时,我可以看到所有这些 属性都在发生变化。我需要弄清楚用于旋转对象的算法是什么。

【问题讨论】:

    标签: c# wpf xaml vector 3d


    【解决方案1】:

    移动相机位置以使您看起来围绕 X 轴旋转的数学只是一个圆的参数方程:

    其中 t 是从零到 2 pi 的角度。

    想象你站在街上看房子。相机的坐标必须绕房子绕一圈,并且经纬度不断变化以保持与房子的距离相同。因此,没有一个值可以更改以使其旋转。

    一旦你知道了相机的位置,方向就是原点和相机位置的差。

    所有这些都不难计算,但有一种更简单的方法。相反,保持相机固定并旋转对象。这使得动画更容易。这是一篇 MSDN 文章,其中包含该方法的示例,包括动画:

    该文章适用于 WPF 和 Visual Studio,但您可以轻松地将相同的想法应用于 Expression Blend。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-23
      • 2019-01-26
      • 2016-09-10
      • 2018-01-23
      • 2017-06-07
      • 1970-01-01
      • 2013-08-30
      • 2021-03-13
      相关资源
      最近更新 更多