平面上任意椭圆与点的位置关系

平面上任意椭圆与点的位置关系

未标题-1.png-32.6kB

问题描述 : 如上图所示,我们的目的是判断在二维空间中任意一椭圆与任意一点 p i ( x i , y i ) p_i(x_i,y_i) pi(xi,yi)的位置关系,这样的位置关系有三种 : 1 点在椭圆上; 2 点在椭圆中; 3 点在椭圆外。

解决思路 :

从最简单的开始讲起, 在初中时候学到过,对于一个焦点在 x x x轴或 y y y轴的椭圆来讲有标准方程 :
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1
或者
y 2 a 2 + x 2 b 2 = 1 \frac{y^2}{a^2} + \frac{x^2}{b^2} = 1 a2y2+b2x2=1
利用标准方程,判断点与椭圆的位置关系十分容易,以焦点在 x x x轴上的椭圆为例, ∀ p ( x i , y i ) ∈ R 2 \forall p(x_i,y_i)\in R^2 p(xi,yi)R2,这里不加证明的给出位置关系的判别式 :
(1) 若
x i 2 a 2 + y i 2 b 2 &lt; 1 \frac{x_i^2}{a^2} + \frac{y_i^2}{b^2} &lt; 1 a2xi2+b2yi2<1
点在椭圆内;
(2) 若
x i 2 a 2 + y i 2 b 2 = 1 \frac{x_i^2}{a^2} + \frac{y_i^2}{b^2} = 1 a2xi2+b2yi2=1
点在椭圆上;
(3) 若
x i 2 a 2 + y i 2 b 2 &gt; 1 \frac{x_i^2}{a^2} + \frac{y_i^2}{b^2} &gt; 1 a2xi2+b2yi2>1
点在椭圆外。
这一块证明的资料很多,在此就不再赘述了。


现在将问题泛化 : 对于任意的一个椭圆如何求其与点 p i p_i pi的关系。根据上面的结论我们可以很自然的思考,如果通过一种坐标系的变换,将任意的椭圆都变为焦点在 x x x轴,或 y y y轴的椭圆,那么其与点 p i p_i pi位置关系的判断将是十分容易,只需要带入已知公式即可,根据这样的思路,我们建立如下坐标系。
image_1da8epiv1phogiqemb1lrqi863i.png-57.6kB

如上图所示,在新的坐标系 x ′ 0 ′ y ′ x&#x27;0&#x27;y&#x27; x0y中,椭圆的焦点处于坐标轴上,可以使用椭圆的标准方程进行求解,唯一的问题是如何将任给一点 p i p_i pi变换到 x ′ 0 ′ y ′ x&#x27;0&#x27;y&#x27; x0y,证明的方式有很多种,在此选用基变换.
下述方法中,变换后向量的起点 0 ′ 0&#x27; 0的坐标是 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)点,为了满足这个条件,首先对 p i p_i pi进行简单的平移变换,
x i = x i − x 0 y i = y i − y 0 x_i = x_i - x_0 \\ y_i = y_i - y_0 xi=xix0yi=yiy0
注 : ( x 0 , y 0 ) (x_0,y_0) (x0,y0) 是椭圆圆心坐标.

求解 :
在原始坐标系 x 0 y x0y x0y中选取一组单位正交基 { e 1 ⃗ , e 2 ⃗ } , e 1 ⃗ = ( 1 , 0 ) , e 2 ⃗ = ( 0 , 1 ) \{ \vec{e_1},\vec{e_2} \},\vec{e_1} = (1,0),\vec{e_2} = (0,1) {e1 ,e2 },e1 =(1,0),e2 =(0,1),显然 p i ⃗ = x i e 1 ⃗ + y i e 2 ⃗ \vec{p_i} = x_i \vec{e_1} + y_i \vec{e_2} pi =xie1 +yie2 .
如上图先将 e 1 ⃗ , e 2 ⃗ \vec{e_1},\vec{e_2} e1 ,e2 旋转 θ \theta θ角,根据向量旋转公式:
( e 1 ′ ⃗ ) T = [ cos ⁡ ( θ ) − sin ⁡ ( θ ) sin ⁡ ( θ ) cos ⁡ ( θ ) ] ⋅ [ 1 0 ] ( e 2 ′ ⃗ ) T = [ cos ⁡ ( θ ) − sin ⁡ ( θ ) sin ⁡ ( θ ) cos ⁡ ( θ ) ] ⋅ [ 0 1 ] (\vec{e_1&#x27;})^T = \begin{bmatrix} \cos(\theta)&amp; -\sin(\theta)\\ \sin(\theta) &amp; \cos(\theta) \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 0 \end{bmatrix} \\ (\vec{e_2&#x27;})^T = \begin{bmatrix} \cos(\theta)&amp; -\sin(\theta)\\ \sin(\theta) &amp; \cos(\theta) \end{bmatrix} \cdot \begin{bmatrix} 0 \\ 1 \end{bmatrix} (e1 )T=[cos(θ)sin(θ)sin(θ)cos(θ)][10](e2 )T=[cos(θ)sin(θ)sin(θ)cos(θ)][01]
综上 e 1 ′ ⃗ = ( cos ⁡ θ , sin ⁡ θ ) , e 2 ′ ⃗ = ( − s i n θ , c o s θ ) \vec{e_1&#x27;} = \left ( \cos \theta ,\sin\theta \right ),\vec{e_2&#x27;} = (-sin\theta,cos\theta) e1 =(cosθ,sinθ),e2 =(sinθ,cosθ), 显然其满足这几点 :
(1) e 1 ′ ⃗ , e 2 ′ ⃗ \vec{e_1&#x27;},\vec{e_2&#x27;} e1 ,e2 线性无关
(2) e 1 ′ ⃗ ⋅ e 2 ′ ⃗ = 0 \vec{e_1&#x27;}\cdot\vec{e_2&#x27;} = 0 e1 e2 =0
(3) ∣ e 1 ′ ⃗ ∣ = ∣ e 2 ′ ⃗ ∣ = 1 \left | \vec{e_1&#x27;} \right | = \left | \vec{e_2&#x27;} \right | = 1 e1 =e2 =1
以上通过旋转矩阵求出了新坐标系下的一组正交基,下面只需要求 p i ⃗ \vec{p_i} pi 在新的基下的表示即可,解法有多种,下面展示一种通过求过度矩阵来进行求解的方法 :
e 1 ′ ⃗ , e 2 ′ ⃗ \vec{e_1&#x27;},\vec{e_2&#x27;} e1 ,e2 通过 e 2 ⃗ , e 2 ⃗ \vec{e_2},\vec{e_2} e2 ,e2 进行表示 :
e 1 ′ ⃗ = cos ⁡ θ ⋅ e 1 ⃗ + sin ⁡ θ ⋅ e 2 ⃗ e 2 ′ ⃗ = − sin ⁡ θ ⋅ e 1 ⃗ + cos ⁡ θ ⋅ e 2 ⃗ \vec{e_1&#x27;} = \cos\theta \cdot \vec{e_1} + \sin\theta \cdot \vec{e_2} \\ \vec{e_2&#x27;} = -\sin\theta \cdot \vec{e_1} + \cos\theta \cdot \vec{e_2} \\ e1 =cosθe1 +sinθe2 e2 =sinθe1 +cosθe2
由上可以求出过渡矩阵
C = [ cos ⁡ ( θ ) − sin ⁡ ( θ ) sin ⁡ ( θ ) cos ⁡ ( θ ) ] C = \begin{bmatrix} \cos(\theta)&amp; -\sin(\theta)\\ \sin(\theta) &amp; \cos(\theta) \end{bmatrix} C=[cos(θ)sin(θ)sin(θ)cos(θ)]
所以 e 1 ⃗ , e 2 ⃗ \vec{e_1},\vec{e_2} e1 ,e2 e 1 ′ ⃗ , e 2 ′ ⃗ \vec{e_1&#x27;},\vec{e_2&#x27;} e1 ,e2 的坐标变换表示为 :
[ x i ′ y i ′ ] = C − 1 ⋅ [ x i y i ] \begin{bmatrix} x_i&#x27;\\ y_i&#x27; \end{bmatrix} = C^{-1}\cdot \begin{bmatrix} x_i \\ y_i \end{bmatrix} [xiyi]=C1[xiyi]
整理可以得到 :
x ′ = cos ⁡ θ ⋅ x + sin ⁡ θ ⋅ y y ′ = − sin ⁡ θ ⋅ x + cos ⁡ θ ⋅ y x&#x27; = \cos\theta \cdot x + \sin\theta \cdot y \\ y&#x27; = -\sin\theta \cdot x + \cos\theta \cdot y x=cosθx+sinθyy=sinθx+cosθy
上述关系式还可以通过向量间的投影关系得到.

最后将变换后的 ( x i ′ , y i ′ ) (x&#x27;_i,y&#x27;_i) (xi,yi)带入判别式,计算即可。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值