Re: [問題] 請問三點共線

看板Prob_Solve (計算數學 Problem Solving)作者 (Tangent)時間13年前 (2011/04/17 19:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《chchwy (mat)》之銘言: : 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 : } : 請問在網路上我看到這種做法,可以判斷三點共線。 : 但是我不太明白為什麼可以這樣做? : 我個人猜測應該是跟外積有關係 : 但是又式子又推不出來 冏 取兩段即可 ( a.y - b.y ) ( b.y - c.y ) --------------- = --------------- ( a.x - b.x ) ( b.x - c.x ) 相乘 ( a.y - b.y ) * ( b.x - c.x ) = ( b.y - c.y ) * ( a.x -b.x ) 展開 a.y*b.x - a.y*c.x - b.y*b.x + b.y*c.x = b.y*a.x - b.y*b.x - c.y*a.x + c.y*b.x 移向就可以得到 a.x*b.y + b.x*c.y + c.x*a.y = a.y*b.x + b.y*c.x + c.y*a.x -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.128.241
文章代碼(AID): #1Dgiz5vV (Prob_Solve)
文章代碼(AID): #1Dgiz5vV (Prob_Solve)