Re: [運算] 怎算出兩條線有沒有交叉?

看板Math作者 (My brain is open)時間15年前 (2011/02/11 12:10), 編輯推噓5(507)
留言12則, 5人參與, 最新討論串2/3 (看更多)
※ 引述《VVVVii (aa)》之銘言: : ※ [本文轉錄自 MATLAB 看板 #1DL9pjiq ] : 作者: VVVVii (aa) 看板: MATLAB : 標題: [運算] 怎算出兩條線有沒有交叉? : 時間: Fri Feb 11 10:20:27 2011 : 我有點a,b,c,d座標都已知 : a=(ax,ay), : b=(bx,by), : c=(cx,cy), : d=(dx,dy), : 這四點都在第一象限,不考慮座標等於零的情況 : 我要怎麼知道a,b連線(稱作M),與c,d連線(稱作N)有沒有交叉? : 畫出來雖然一看就知道,但是我必須自動處理大量類似問題。 : 懇請賜教 你的意思大概是指"線段"有沒有交叉 對於一條直線 如果我們把兩個線外的點代入直線方程式 代入的結果一正一負 則兩個點在直線的異側 _ _ 只要C D 在AB的異側 且 A B 在CD的異側 這樣就行了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.37.62

02/11 14:55, , 1F
對,是線段
02/11 14:55, 1F

02/11 14:57, , 2F
挖靠你這樣好聰明喔!不用解兩個方程還要算range
02/11 14:57, 2F

02/11 16:20, , 3F
好方法....我想了兩分鐘才搞懂....
02/11 16:20, 3F

02/11 19:08, , 4F
還是得算到兩條直線方程式..這樣子code好像也沒較少
02/11 19:08, 4F

02/11 19:09, , 5F
不過這很好的idea
02/11 19:09, 5F

02/12 14:08, , 6F
這個方法也是只能求直線 對線段無效 而且求出方程式
02/12 14:08, 6F
^^^^^^^^^^ 你再想一下

02/12 14:08, , 7F
已經有點殺雞用牛刀了
02/12 14:08, 7F

02/12 16:32, , 8F
有沒有不用求方程式直接用投影法判斷的方法?
02/12 16:32, 8F
※ 編輯: PaulErdos 來自: 219.71.38.45 (02/12 21:39)

02/13 06:34, , 9F
我覺得對線段有效阿
02/13 06:34, 9F

02/13 15:55, , 10F
我不清楚code寫起來如何,如果利用斜率:AB在AC AD間
02/13 15:55, 10F

02/13 15:56, , 11F
且CD斜率在 CA CB 之間 這樣寫不知會不會比較簡便
02/13 15:56, 11F

02/13 15:56, , 12F
這也是類似同側異側的概念 沒用到直線方程式
02/13 15:56, 12F
文章代碼(AID): #1DLBR8Yw (Math)
文章代碼(AID): #1DLBR8Yw (Math)