如何判斷直線與橢圓面積是否相交重疊,可給公式和圖嗎?

2009-02-17 2:59 am
直線 兩端點 都知道

橢圓圓心 也知 長邊 短邊 也知

但是要怎判斷 直線 有沒有在橢圓面積裡

可以po圖解嗎

或是詳細說明 英文代號指的是什麼

謝謝
更新1:

可以 舉例說明 嗎

回答 (3)

2009-02-23 2:36 am
✔ 最佳答案
用任何類型Affine transformation都是很危險的。
我建議用代入法
假定橢圓曲線為x^2/a^2+y^2/b^2=1
假設直線端點為A和B,那麼連接A(x_1,y_1),B(x_2,y_2)線段上的點可以如下表示:
tA + (1-t)B , 0 =< t =< 1
即對P(x,y)
x=tx_1+(1-t)x_2
y=ty_1+(1-t)y_2
推而廣之﹐若t<0或t>1﹐則代表的點在A或B之外
又直線總可以寫成Ax+By+C=0
現在將令y=(C-Ax)/B﹐代入橢圓曲線方程﹐求得一二次方程﹐若
1 判別式<0 方程無解。整條直線與橢圓不相交﹐因此AB亦不在橢圓中。
2 判別式=0 方程有一解(重根)。整條直線與橢圓相切﹐因此AB亦不在橢圓中。(即使A或B是切點)
3 判別式>0 方程有相異解。整條直線與橢圓交於兩點﹐姑且記為M(a,b) N(c,d) 要判定AB在不在橢圓中。可以考慮
a=tx_1+(1-t)x_2
b=ty_1+(1-t)y_2

c=tx_1+(1-t)x_2
d=ty_1+(1-t)y_2
解出對應的t。若兩個t值都在(0,1)外﹐則AB在橢圓中。相反若兩個t值都在(0,1)內﹐則AB中的MN段在橢圓中﹐而AM和BN則否。
2009-02-21 1:34 am
也是謝謝 "及時而出" 老師 你的回答

我會延長發問
2009-02-18 5:19 pm
將座標線性轉換,使得橢圓變成圓心為(0,0)的圓形。
設轉換後的圓形直徑為R。
設轉換後的直線端點為A和B,那麼線段上的點都可以如下表示:
tA + (1-t)B , 0 =< t =< 1
現在求
| tA + (1-t)B | < R ....(*)
在 0 =< t =< 1 裡有沒有解。因式(*)最多是變量t的二次不等式,我們必可得答案。
如有解:即直線段與橢圓面積是有相交重疊。
否之:即直線段與橢圓面積沒有任何相交重疊。

2009-02-19 23:45:59 補充:
對不起。
最近太忙,看來我不能在時限內完成例子。明天我會取消答案的了。

2009-02-21 00:12:27 補充:
我不是老師,也不會做老師。
我可以做例子,但可能裡面有些方法你還未學,那些我不會再解釋的。

2009-02-23 22:28:38 補充:
------------
例子:
橢圓E : x^2 +y^2 +xy +4x +5y +1 = 0
點 O = (0,0), A = (2, -2), B = (-2, -2)
那麼,OA 和橢圓E 沒有相交而且在橢圓E外圍,OB報分在橢圓E

2009-02-23 22:37:01 補充:
那麼,OA 和橢圓E 沒有相交而且在橢圓E外圍。因為B是橢圓E內,所以OB部分會在橢圓E內。
下面做轉換計算示範,會將橢圓E轉換為圓心為原點的單位圓,A轉換為A',B轉換為B',O轉換為Q。
這轉換可由
x = sqrt(2)u - sqrt(6)v -1
y = sqrt(2)u + sqrt(6)v -2
代入橢圓E式子中求得 u^2 + v^2 =1

2009-02-23 22:42:23 補充:
具體地,
(u, v)^t = A (x+1, y+2)^t
A =
( sqrt(2)/4 sqrt(2)/4 )
( -sqrt(6)/12 sqrt(6)/12 )

2009-02-23 22:44:07 補充:
(更正)
具體地,
(u, v)^t = M (x+1, y+2)^t
M =
( sqrt(2)/4 sqrt(2)/4 )
( -sqrt(6)/12 sqrt(6)/12 )

M 為2X2矩陣。

2009-02-23 22:53:40 補充:
所以有
Q = ( 3sqrt(2)/4 , sqrt(6)/12 )
A' = ( 3sqrt(2)/4 , -sqrt(6)/4 )
B' = ( -sqrt(2)/4 , sqrt(6)/12 )
線段 QA' = tQ + (1-t)A' = ( 3sqrt(2)/4 , -sqrt(6)/4 +t*4sqrt(6)/12 )
線段 QB' = tQ + (1-t)B' = ( -sqrt(2)/4 +t*sqrt(2) , sqrt(6)/12 )

2009-02-23 22:58:03 補充:
線段 QA' 和單位圓心的距離為
18/16 +(-sqrt(6)/4 +t*4sqrt(6)/12 )^2 > 1
所以 QA' 必定全在單位圓外。
因此 OA 必定全在橢圓E外。

2009-02-23 23:04:55 補充:
線段 QB' 和單位圓心的距離為
d = 2(t +1/4 )^2 + 1/24
其中當 0 =< t =< sqrt(69)/12 - 1/4 時,d =< 1 ,所以這部分的QB'在單位圓內。
當 sqrt(69)/12 - 1/4 < t =< 1時,d > 1 ,所以這部分的QB'全在單位圓外。
因此OB只有部分在橢圓E內。

2009-02-23 23:08:25 補充:
”線段全在橢圓E內而不相交”這點可能性必須考慮。


收錄日期: 2021-04-26 14:00:50
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090216000015KK07687

檢視 Wayback Machine 備份