2011-06-27 54 views
6

表达式混合使您能够导入3D模型。我想用代码为3d对象制作动画。我似乎无法弄清楚为了旋转对象我必须修改哪些属性值。让我告诉你我是什么意思:围绕物体wpf的中心旋转cammera

enter image description here

所以如果我要旋转这个对象,我可以用相机轨道工具enter image description here,如果我用它我可以像结束了:

enter image description here

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

回答

8

这样你出现绕X轴被旋转来移动相机位置的数学只是一个圆的参数方程:

Parametric Equation of a Circle

其中是从零的角度到2 pi

想象一下,你站在街上看着一栋房子。相机的坐标必须沿着房屋周围的一个圆圈,并且经纬度不断变化以保持与房屋相同的距离。所以没有一个价值可以改变,让它旋转。

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

这一切都不难计算,但有一个更简单的方法。相反,保持相机固定并旋转物体。这使得动画更容易。这里是一个MSDN文章包含的方法的例子,包括动画:

这篇文章是为WPF和Visual Studio,但你可以很容易地适应相同想法的Expression Blend。