行云

行至水穷处,坐看云起时。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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上。

posted on 2013-03-20 22:40  windflying  阅读(639)  评论(0编辑  收藏  举报