看板 Prob_Solve 關於我們 聯絡資訊
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)