作者chchwy (mat)
看板Prob_Solve
標題[問題] 請問三點共線
時間Sun Apr 17 18:01:22 2011
Point a,b,c;
int pos = a.x*b.y + b.x*c.y + c.x*a.y;
int neg = a.x*c.y + b.x*a.y + c.x*b.y;
if(pos==neg) {
// They're on the same line
}
請問,我在網路上看到這種做法,可以判斷三點共線。
但是我不太明白為什麼可以這樣做?
我個人猜測應該是跟外積有關係
但是式子又推不出來 冏
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.110.92
推 stimim:三角形面積公式? 04/17 18:04
推 syc0924:外積大小是兩個向量的大小乘上夾角的sin值 共線時sinθ= 0 04/17 18:10
→ firejox:斜率也可以證 04/17 19:18
→ tkcn:計算幾和通常不用斜率,會有額外的麻煩。 04/17 19:29
→ firejox:把除法變乘法是常見的用法 04/17 19:31
※ 編輯: chchwy 來自: 114.45.110.92 (04/17 19:48)