最近发现植物大战僵尸中的僵尸的所有动作都是骨骼动画,别的很好玩的游戏中的动画也原来都是用骨骼动画作的,所以想学习一下骨骼动画,才发现要算一个骨骼的移动和变化需要用到正余玄定理来计算节点的坐标变化。现在在这里再复习一下。希望我可以用cocos2d-x精灵基本的移动、旋转、缩放动画做一套简单的骨骼动画引擎和骨骼动画编辑器。
余弦定理: 如上图所示,△ABC,余弦定理可表示为: 同理可以表示为: 应用
余弦定理是解三角形中的一个重要定理,可应用于以下两种需求:
- 当已知三角形的两边及其夹角,可由余弦定理得出已知角的对边。
- 当已知三角形的三边,可以由余弦定理得到三角形的三个内角。
求边
余弦定理公式可变换为以下形式:
因此,如果知道了三角形的两边及其夹角,可由余弦定理得出已知角的对边。
求角
余弦定理公式可变换为以下形式:
因为余弦函数在
上的单调性,可以得到:
因此,如果已知三角形的三条边,可以由余弦定理得到三角形的三个内角。
正弦定理: 在△ABC中,角A、B、C所对的边长分别为a、b、c,三角形外接圆的半径为R。则有
即,在一个三角形中,各边和它所对角的正弦之比相等,该比值等于该三角形外接圆的直径长度。
定理变形
应用领域
在解三角形中,有以下的应用领域:
(1)已知三角形的两角与一边,解三角形
(2)已知三角形的两边和其中一边所对的角,解三角形
(3)运用a:b:c=sinA:sinB:sinC解决角之间的转换关系
直角三角形的一个锐角的对边与斜边的比叫做这个角的正弦。
正弦定理变形形式
上边的这两个定理,再加上C++中的三角函数,还有什么骨骼动画的坐标是我们算不出来的,你们说是不是:
用的时候需要加入头文件#include <math.h>
using namespace std;
常用函数:
abs绝对值函数
acos反余弦函数
asin反正弦函数
atan反正切函数
exp e的x次方
cos余弦函数
sin正弦函数
tan正切函数
ceil求不小于x的最小整数
cosh求x的双曲余弦值
fabs求浮点数x的绝对值
fmod计算x/y的余数
frexp把浮点数x分解成尾数和指数
hypot对于给定的直角三角形的两个直角边,求其斜边的长度。
ldexp装载浮点数
log,e为底对数
log10,10为底对数
modf,把数分为指数和尾数
pow,计算x的y次幂
sinh,求x的双曲正弦值
sqrt,开方
tanh求x的双曲正切值
发现要算坐标,还要用和角公式:
三
角函数和角公式
又称三角函数的加法定理 是几个角的和(差)的三角函数通过其中各个角的三角函数来表示的关系
一般的最常用公式有:
正弦余弦记忆口诀:正余同余正,余余反正正。
五个字代表右边的公式,“同”和“反”则表明中间的符号与左边是否一样;其中第一个字也代表是余弦公式还是正弦公式。
顺便把半角公式也复习一下:
下边的是万能公式:
标签:动画,函数,公式,定理,正弦,余弦定理,正余玄,三角形 From: https://blog.51cto.com/u_13760719/5719228