1 求三角形面积
知道三角形三个顶点坐标,可以求三角形三条边长的长度,进而可以求出三角形的面积。
海伦公式:
假设三角形3条边长分别为a, b, c. p = (a + b + c) /2
那么面积 s = sqrt( (p-a) * (p-b) * (p-c) * p );
该公式的用途:可以用来计算面积,避免昂贵的三角函数计算。用来判断一个点是否在三角形内部。
2 判断一个点是否在三角形内
如上图,可以通过比较三角形ABC的面积(S1)与三角形ABD, ACD, BCD面积之和(S2)的大小来判断点是否在三角形内。
如果S1等于S2,则点D在三角形内部。
3 判断一个点p是否在一条射线ab的左边
可以通过pa, ab两个向量叉积的正负来判断。
4 向量点积
▶ 点积也叫数量积、向量的内积、无向积等,顾名思义,点积是一个数。
已知向量a和向量b,它们的点积a•b=︱a︱︱b︱cosθ,其中 θ是a,b的夹角(a逆时针转向b的角度)。
▶ 在物理中,点积用来表示力所作的功。当力F与质点的位移S有夹角θ时,力F所作的功W=︱F︱︱S︱cosθ
=F•S,功是数量,故点积又称数量积,无向积等。
▶ 点积可能为正,也可能为负。如果a,b的夹角大于90度,则结果为负。如果a,b的夹角小于90度,则结果为正。
如果a与b垂直,则它们的点积为0。
▶ 点积的数值计算方法
a•b = x1*x2 + y1*y2
▶ 假设A(x1, y1), B(x2, y2), C(x3, y3)
AB•AC = (x2-x1)*(x3-x1) + (y2-y1)*(y3-y1)
▶ 运用
利用点积可以求得两个向量夹角的余弦值,从而可以知道两个向量的相似性。利用点积可以判断一个多边
形是面向摄像机还是背向摄像机。
向量的点积与它们夹角的余弦成正比,因此在聚光灯的效果计算中,可以根据点积来得到光照效果,如果点积越大,
说明夹角越小,则物体离光照的轴线越近,光照越强。
5 叉积
叉积的结果是一个向量(有方向、有大小)。
两个向量的叉积a×b=︱a︱︱b︱sinθ,其中 θ是a,b的夹角。
▶ 叉积的数值计算|a x b| = |x1*y2 - x2*y1|
假设A(x1, y1), B(x2, y2), C(x3, y3)
AB x AC = (x2-x1)*(y3-y1) - (x3-x1)*(y2-y1)
方向根据右手螺旋法则判定
◆ 几何意义
数值上等于与AB,AC为边的平行四边形的面积。
◆ 运用:
用于判断一个点是在一条直线的左侧还是右侧。ACxAB数值大于0,则C在AB的左侧,小于0,则在AB的右侧。
ACxAB等于0,则C在AB上。