[問題]求交點 已回收

看板MATLAB作者 (ZC)時間15年前 (2011/01/02 11:45), 編輯推噓2(2010)
留言12則, 4人參與, 最新討論串1/1
其實這應該算是數學問題啦...只是要用MATLAB寫出來...所以在這裡跟各位發問... 問題如下 : 平面座標上有4個點 A(Ax,Ay) B(Bx,By) C(Cx,Cy) D(Dx,Dy) 我想判斷 線段AB 與 線段CD "之間" 有沒有交點(也就是線段延伸後才找到交點不算) 目前的想法是找出線段AB和線段CD的二元一次方程式,求得聯立解後驗證是否在線段間... 但是否有更簡單的方法呢? ps : 觀念描述一下就可以了...code我應該可以寫得出來(吧!?) 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.210.63

01/02 12:16, , 1F
若假設A,B聯立得f(x)=y 那判斷g=f(x)-y 正負號也可以
01/02 12:16, 1F

01/02 12:18, , 2F
舉例:A和B得出2x-1=0,那判斷c點d點帶入2x-1為正號或負號
01/02 12:18, 2F

01/02 12:19, , 3F
g(C)*g(D)為負號 即相交 正號則在同一邊
01/02 12:19, 3F

01/02 12:25, , 4F
這方法比我的更簡單...感謝 :)
01/02 12:25, 4F

01/02 12:38, , 5F
好像有些狀況還是不行...例如A(2,5) B(4,3) C(3,1) D(5,4)
01/02 12:38, 5F

01/02 12:39, , 6F
AB線段的方程式y=f(x)=-x+7 所以g(x,y)=-x+7-y
01/02 12:39, 6F

01/02 12:41, , 7F
g(C)*g(D)=3*-2=-6,於是判斷有交點,但事實上AB與CD無交點
01/02 12:41, 7F

01/02 12:56, , 8F
設座標(x,y) 從A點到B點 x=a+bt y=c+dt t=1:e
01/02 12:56, 8F

01/02 12:57, , 9F
判斷(x,y)到C D的距離是否等於CD之間的距離
01/02 12:57, 9F

01/02 13:31, , 10F
M大您的第一步我懂...但是第二步就><" why?
01/02 13:31, 10F

01/02 17:31, , 11F
用最佳化 四變數 目標函數為兩點距離 拘束條件是在線上有邊界
01/02 17:31, 11F

01/02 18:35, , 12F
阿 我的方法好爛
01/02 18:35, 12F
文章代碼(AID): #1D7_JIMv (MATLAB)