,像这样的事情背后的数学是什么?C++透视图.

关于此这里的MSDN页面.的更多示例
更新:被问到一个更具体的问题。 彭纳吐温^的数学/动画理论是什么?你是怎么想出这些公式的?他们所依据的数学原理是什么?
我和数学,我们不是BFF!我正在为我正在编写的UI开发一个多FLOAT值动画器,我想知道从本地C++程序员的角度来看,生成这样一个轨迹的数学基础是什么。
搜索并找到了代码,但我也在从编程的角度寻找一些理论,.不仅仅是代码或者纯数学。我可以把我需要的代码从网上找到,但是我想在这个过程中理解它。就像这个网站,允许一个人试验一个缓和函数发生器。
我也可以使用Windows动画管理器(如果事情变得血腥的话,我可能会这么做),但这只运行在单个float上。而仅仅是动画RGB需要动画每个浮子本身。会导致巨大的密码膨胀.非常糟糕。
如果有人有一些提示的话,我会非常感激的。我主要是从编程的角度来寻找理论。最终目标是编写一组不同的动画算法,这些算法可以在一段时间或速度内将一组浮点数从初始值动画化到目标值等。
这个计划不仅是为了编写代码,而且也是为了了解它背后发生了什么。然后再用这些动画来创造..。除非这些证明是一些严格的标准数学函数。
发布于 2014-02-16 18:48:19
数学就是数学。
一个关于黎曼求和的好教程将演示这个概念。
在基本编程中,您有一个数学方程,它为给定的X(时间)生成Y值(高度)。周期性地,例如,每秒一次,插入一个新的X (time)值,然后返回高度。
计算这个函数的次数越多,分辨率就越好(这就是黎曼和图和微积分的结果)。您将得到的最好的结果是近似曲线,看上去像楼梯台阶。
在嵌入式系统中,没有足够的资源来评估这样的功能。曲线可以用线段近似。线段越多,逼近效果越好(提高精度)。因此,一种方法是将曲线分解成线段。对于给定的x,对直线使用适当的线性公式。对一条线的评估通常比评估一个更高的度方程花费更少的资源。
你的曲线通常是由物理方程产生的。所以,你不仅需要提高数学,还应该提高物理水平。
否则,您可以在web上搜索处理轨迹的库。
当我们接近硬件时,可以使用计时器来调用评估给定X的轨迹函数的方法。定时器有助于产生更精确的时间值。
在网上搜索“曲线拟合算法”、"Bresenham算法“、”图形碰撞检测算法“。
发布于 2014-02-17 01:57:26
所以,想想推特功能的要求吧。
f应该是一个连续的、可微的函数,比如f(0) == 0和f(1) == 1;实际的运动是用它作为一个原语来构造的。f'(0) == 0,“轻松”的意思是f'(1) == 0。其他的一切都是基于美学的考虑。
三次曲线(如Bezier/Hermite样条)之所以流行,部分原因在于它允许控制曲线两端的位置和切线(速度),还因为它们接近柔性梁在几个点的位置时所采用的自然形状。立方体形状将弯曲梁的内应力降到最小。(不出所料,这些木横梁被船设计者和其他起草者称为“样条”,因为我们就是从这里得到这个词的。)
从历史上看,手绘动画片的动画师总是根据自己的感受,根据经验来指定自己的作品。关键动画师在他们的关键图纸上绘制一个图表(称为“定时图”;在你最喜欢的图像搜索引擎上查找这个图表),告诉中间曲线应该如何计时。
然而,相机的运动(平移,变焦,旋转)则是另一回事。版面/动画艺术家指定运动的开始和结束(使用字段图表指定)、运动将发生的帧数、放松指令以及布局/动画团队认为重要的其他任何内容(例如,如果必须“逗留”)。
实际的动作需要计算;观众会注意到,如果一个旋转的框架被熄灭了,甚至是几百度。做这些计算是摄象部工作的一部分。
布莱恩·索特写了一本很棒的书,名为“基本动画展台技术”,它可以追溯到物理动画相机时代,并详细描述了他们必须做的事情,以及在多大程度上要做的事情。如果你对这些东西感兴趣的话,我推荐它。
https://stackoverflow.com/questions/21815547
复制相似问题