三角函数和向量

来源:互联网 发布:null==NaN js 编辑:程序博客网 时间:2024/04/29 11:01
三角函数
1. 角度和弧度的转换:
radians = degrees * PI / 180
degrees = radians * 180 / PI

2. 非直角三角形的计算:
 已知a,b,和角度theta c,则有:c2 = a2 + b2 - 2ab*cos(theta c)
 
3. 三角函数图:

 有公式: a / sin(theta a) = b / sin(theta b) = c / sin(theta c)
三角函数属于周期性的函数,如sin(a) = sin(a + 2*PI*n),n等于循环次数。

向量:
向量可以用来代表很多重要的概念,位置,方向,切线,表面法线,颜色等等。
向量有大小有方向,而点只有大小。
 
 向量的基本计算如上图。

1. 两个点相加并不一定是合逻辑的,因为没什么实际意义;但两个点相减则是有意义的,结果是两个点之间的距离;

2. 同样的,点也不能缩放,而向量则可以。但是,我们可以计算一系列点的“weighted average”,例如计算中心点或者重心。

3. 向量点乘(dot product):计算结果是一个标量(scalar)
 当用两个标准化过后的向量计算时,两个向量的长度都为1,则可知点乘结果就等于夹角的cos值。

4. 向量叉乘(cross product):叉乘的计算结果是一个新的向量,它同时垂直与原有的两个向量,而计算叉乘长度的公式如下:

通常我们不太在意长度而是比较在意方向,因为计算出一个垂直的向量在CG中非常常用,例如旋转轴,表面法线等等。
因为sin(0o) = sin(180o) = 0.0,所以叉乘可以很块地判定两个向量是否平行(当叉乘结果为(0,0,0)时两向量平行),而不用管他们的长度。
0 0
原创粉丝点击