程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 通過余弦定理從點積的定義推出點積的公式

通過余弦定理從點積的定義推出點積的公式

編輯:關於C語言

首先證明余弦定理:
有邊為a,b,c,對應夾角為a_angle,b_angle,c_angle
分別從定點向對應邊作對角線可以發現如下關系成立:
(1)
a=b*cos c_angle +  c * cos b_angle
(2)
b=a*cos c_angle +  c * cos a_angle
(3)
c=a*cos b_angle +  b * cos a_angle
對(1)*a有:
a^2=a*b*cos c_angle +  a*c * cos b_angle
同樣有:
b^2=b*a*cos c_angle +  b*c * cos a_angle
c^2=c*a*cos b_angle +  c*b * cos a_angle
比較上面三個,可以發現有:
a^2+b^2={a*b*cos c_angle +  a*c * cos b_angle }  + {b*a*cos c_angle +  b*c * cos a_angle}
GO
移項有:
a^2+b^2={a*b*cos c_angle + b*a*cos c_angle}+ { a*c * cos b_angle   +  +  b*c * cos a_angle}
GO
a^2+b^2=2*a*b*cos c_angle + c^2
現在繼續往下證明:
假設a,b,c的在三維坐標下
(4)
a^2=a1^2+a2^2+a3^2
同樣有:
(5)
b^2=b1^2+b2^2+b3^2
(6)
c^2=(a1-b1)^2+(a2-b2)^2+(a3-b3)^2
對(6)進行化簡有:
c^2=a1^2+a2^2+a3^2+ b1^2+b2^2+b3^2 - 2*a1*b1-2*a2*b2-2*a3*b3
綜合(4),(5)有:
a^2+b^2-2*a*b*cos c_angle=a^2+b^2 - 2*a1*b1-2*a2*b2-2*a3*b3
Go
2*a*b*cos c_angle=2*a1*b1+2*a2*b2+2*a3*b3
Go
a*b*cos c_angle=a1*b1+a2*b2+a3*b3
而點積的定義形式為:point_a*point_b=a1*b1+a2*b2+a3*b3
從而得到公式point_a*point_b=a*b*cos c_angle.

摘自:chenbingchenbing的專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved