一些数学基本概念
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上。
轉載于:https://www.cnblogs.com/uvsjoh/archive/2013/03/20/2971948.html
總結
- 上一篇: QWidget: Must constr
- 下一篇: 知识表示之二——产生式规则表示法