[問題] 請問三點共線

看板Prob_Solve作者 (mat)時間13年前 (2011/04/17 18:01), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/4 (看更多)
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

04/17 18:04, , 1F
三角形面積公式?
04/17 18:04, 1F

04/17 18:10, , 2F
外積大小是兩個向量的大小乘上夾角的sin值 共線時sinθ= 0
04/17 18:10, 2F

04/17 19:18, , 3F
斜率也可以證
04/17 19:18, 3F

04/17 19:29, , 4F
計算幾和通常不用斜率,會有額外的麻煩。
04/17 19:29, 4F

04/17 19:31, , 5F
把除法變乘法是常見的用法
04/17 19:31, 5F
※ 編輯: chchwy 來自: 114.45.110.92 (04/17 19:48)
文章代碼(AID): #1DghfrGT (Prob_Solve)
文章代碼(AID): #1DghfrGT (Prob_Solve)