c# – 围绕对象wpf的中心旋转cammera

表达式混合使您可以导入3d模型.我想用代码为3d对象设置动画.我似乎无法弄清楚为了使对象旋转我必须修改属性值是什么.让我告诉你我的意思:

所以,如果我想旋转这个物体,我可以使用相机轨道工具,如果我使用它,我最终会得到类似的东西:

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

解决方法

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

其中t是从0到2 pi的角度.

想象一下,你站在街上看房子.相机的坐标必须沿着房子周围的圆圈,经度和经度不断变化,以保持与房子相同的距离.因此,没有任何一个值可以更改以使其旋转.

一旦知道摄像机位置,方向就是原点和摄像机位置之间的差异.

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

> 3-D Transformations Overview

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

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么