任意椭圆和直线求交点方程组解析
以下为标准椭圆方程与一般直线方程的交点解析:
{y=kx+m直线方程x2a2+y2b2=1椭圆方程\,\,\left\{ \begin{array}{c} y=kx+m\,\,\text{直线方程}\\ \frac{x^2}{a^2}+\frac{y^2}{b^2}=1 \text{椭圆方程}\\ \end{array} \right. {y=kx+m直线方程a2x2+b2y2=1椭圆方程
将直线方程带入椭圆方程得:
⇒x2a2+(kx+m)2b2=1\Rightarrow \,\,\frac{x^2}{a^2}+\frac{\left( kx+m \right) ^2}{b^2}=1⇒a2x2+b2(kx+m)2=1
⇒x2a2+(kx+m)2b2=1\Rightarrow \,\,\frac{x^2}{a^2}+\frac{\left( kx+m \right) ^2}{b^2}=1⇒a2x2+b2(kx+m)2=1
⇒b2x2+a2(kx+m)2=a2b2\Rightarrow \,\,b^2x^2+a^2\left( kx+m \right) ^2=a^2b^2⇒b2x2+a2(kx+m)2=a2b2
⇒b2x2+a2(k2x2+2kmx+m2)=a2b2\Rightarrow \,\,b^2x^2+a^2\left( k^2x^2+2kmx+m^2 \right) =a^2b^2⇒b2x2+a2(k2x2+2kmx+m2)=a2b2
⇒b2x2+a2k2x2+2a2kmx+a2m2−a2b2=0\Rightarrow \,\,b^2x^2+a^2k^2x^2+2a^2kmx+a^2m^2-a^2b^2=0⇒b2x2+a2k2x2+2a2kmx+a2m2−a2b2=0
⇒(b2+a2k2)x2+2a2kmx+a2(m2−b2)=0\Rightarrow \,\,\left( b^2+a^2k^2 \right) x^2+2a^2kmx+a^2\left( m^2-b^2 \right) =0⇒(b2+a2k2)x2+2a2kmx+a2(m2−b2)=0
⇒设{A=(b2+a2k2)B=2a2kmC=a2(m2−b2)\Rightarrow \text{设}\begin{cases} \,A=\left( b^2+a^2k^2 \right)\\ B=2a^2km\\ C=a^2\left( m^2-b^2 \right)\\ \end{cases}⇒设⎩⎪⎨⎪⎧A=(b2+a2k2)B=2a2kmC=a2(m2−b2)
⇒则方程式为: Ax2+Bx+C=0\Rightarrow \,\,\text{则方程式为: }Ax^2+Bx+C=0⇒则方程式为: Ax2+Bx+C=0
对于如下形式的一元二次方程:
ax2+bx+c=0ax^2+bx+c=0ax2+bx+c=0
方程的两个根为:
x1=−b+b2−4ac2a;x2=−b−b2−4ac2ax_1=\frac{-b+\sqrt{b^2-4ac}}{2a}\text{;}x_2=\frac{-b-\sqrt{b^2-4ac}}{2a}x1=2a−b+b2−4ac;x2=2a−b−b2−4ac
一元二次方程求根公式推导过程:{ax2+bx+c=0⇒x2+bax+ca=0⇒x2+bax=−ca⇒x2+2b2ax=−ca⇒x2+2b2ax+(b2a)2=−ca+(b2a)2⇒x2+2b2ax+b24a2=−ca+b24a2⇒(x+b2a)2=−ca+b24a2⇒(x+b2a)2=−4ac4a2+b24a2⇒(x+b2a)2=b2−4ac4a2⇒x+b2a=±(b2−4ac)2a⇒x=−b±(b2−4ac)2a\text{一元二次方程求根公式推导过程:}\begin{cases} ax^2+bx+c=0\\ \Rightarrow \,\,x^2+\frac{b}{a}x+\frac{c}{a}=0\\ \Rightarrow \,\,x^2+\frac{b}{a}x=-\frac{c}{a}\\ \Rightarrow \,\,x^2+2\frac{b}{2a}x=-\frac{c}{a}\\ \Rightarrow \,\,x^2+2\frac{b}{2a}x+\left( \frac{b}{2a} \right) ^2=-\frac{c}{a}+\left( \frac{b}{2a} \right) ^2\\ \Rightarrow \,\,x^2+2\frac{b}{2a}x+\frac{b^2}{4a^2}=-\frac{c}{a}+\frac{b^2}{4a^2}\\ \Rightarrow \,\,\left( x+\frac{b}{2a} \right) ^2=-\frac{c}{a}+\frac{b^2}{4a^2}\\ \Rightarrow \,\,\left( x+\frac{b}{2a} \right) ^2=-\frac{4ac}{4a^2}+\frac{b^2}{4a^2}\\ \Rightarrow \,\,\left( x+\frac{b}{2a} \right) ^2=\frac{b^2-4ac}{4a^2}\\ \Rightarrow \,\,x+\frac{b}{2a}=\frac{\pm \sqrt{\left( b^2-4ac \right)}}{2a}\\ \Rightarrow \,\,x=\frac{-b\pm \sqrt{\left( b^2-4ac \right)}}{2a}\\ \end{cases}一元二次方程求根公式推导过程:⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧ax2+bx+c=0⇒x2+abx+ac=0⇒x2+abx=−ac⇒x2+22abx=−ac⇒x2+22abx+(2ab)2=−ac+(2ab)2⇒x2+22abx+4a2b2=−ac+4a2b2⇒(x+2ab)2=−ac+4a2b2⇒(x+2ab)2=−4a24ac+4a2b2⇒(x+2ab)2=4a2b2−4ac⇒x+2ab=2a±(b2−4ac)⇒x=2a−b±(b2−4ac)
以下为通用椭圆方程与通用直线方程的交点解析:
参考:标准椭圆和任意椭圆方程之间的变换公式推导
kx+my+n=0通用直线方程kx+my+n=0\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,通用直线方程kx+my+n=0通用直线方程
将直线方程化简:
y=−kmx−nmy=-\frac{k}{m}x-\frac{n}{m}y=−mkx−mn
⇒设{K=−kmM=−nm\Rightarrow \text{设}\begin{cases} K=-\frac{k}{m}\\ M=-\frac{n}{m} \end{cases}⇒设{K=−mkM=−mn
将K,M带入:
⇒得:y=Kx−M\Rightarrow 得: y=Kx-M⇒得:y=Kx−M
我们在高中数学中就学习过标准的椭圆方程如下:
x2a2+y2b2=1\frac{x^2}{a^2}+\frac{y^2}{b^2}=1a2x2+b2y2=1
这个方程表示一个中心在坐标原点、长轴沿xxx轴d 长度为aaa,短轴沿yyy轴的轴长度为bbb的正椭圆(aaa > bbb > 0 的条件下),如下图所示:
一般来说,椭圆可以以任何一点为中心,也可以有与坐标轴不平行的轴。这样的椭圆总是可以从标准位置的椭圆开始,然后进行旋转和/或平移得到。对于一般性的公式,我们可以包括通过一个角度为0的旋转(即根本没有旋转)和通过零向量的平移(根本没有平移)来进行变换。也就是说,每一个椭圆都可以通过在标准位置上旋转和平移得到。因此,对椭圆的标准方程进行旋转和平移,可以得到任意椭圆的方程。
是旋转然后平移,还是相反,这是一个需要选择的问题。为了理解这个,让R表示一个旋转,考虑点x=(x,y)x=(x,y)x=(x,y),会发生什么如果我们先平移向量vvv,然后应用 RRR。因为RRR是线性的,变换之后的结果为R(x+v)=Rx+RvR(x+v)=Rx+RvR(x+v)=Rx+Rv,然而这和先旋转xxx,然后用RvRvRv平移是一样的。这表明,每一个椭圆都可以从一个标准位置的椭圆中得到,要么是旋转后再平移,要么是平移后再旋转。在推导椭圆的一般方程时,我们将使用先旋转后平移的方法。
参考旋转矩阵的两种用法一文,我们使用极坐标工具,绕原点逆时针旋转,通过一个角ααα,很容易可以将(x,y)(x,y)(x,y)变成(xcosα−ysinα,ycosα+xsinα)(xcosα-ysinα,ycosα+xsinα)(xcosα−ysinα,ycosα+xsinα)。写成矩阵的形式为:
[uv]=[cosα−sinαsinαcosα][xy]\left[ \begin{array}{c} u\\ v\\ \end{array} \right] =\left[ \begin{matrix} cos\alpha&−sin\alpha\\ sin\alpha&cos\alpha\\ \end{matrix}\right] \left[ \begin{array}{c} x\\ y\\ \end{array} \right] [uv]=[cosαsinα−sinαcosα][xy]
它的逆运算可以通过旋转2π−α2π-α2π−α得到,因此将(u,v)(u,v)(u,v)变换为(xcosα+ysinα,ycosα−xsinα)(xcosα+ysinα,ycosα-xsinα)(xcosα+ysinα,ycosα−xsinα)。即:
[uv]=[cosαsinα−sinαcosα][xy]\left[ \begin{array}{c} u\\ v\\ \end{array} \right] =\left[ \begin{matrix} cos\alpha&sin\alpha\\ -sin\alpha&cos\alpha\\ \end{matrix}\right] \left[ \begin{array}{c} x\\ y\\ \end{array} \right][uv]=[cosα−sinαsinαcosα][xy]
事实上,这表明了一个定理,即对于旋转矩阵:
R−1=RTR^{-1}=R^TR−1=RT
应用变换椭圆方程的方法,可以得到以下方程,对于一个经过 θ\thetaθ角旋转的标准椭圆:
(xcosθ+ysinθ)2a2+(ycosθ−xsinθ)2b2=1\frac{\left( xcos\theta +ysin\theta \right) ^2}{a^2}+\frac{\left( ycos\theta -xsin\theta \right) ^2}{b^2}=1a2(xcosθ+ysinθ)2+b2(ycosθ−xsinθ)2=1
x2cos2θ+2xycosθsinθ+y2sin2θa2+y2cos2θ−2xysinθcosθ+x2sin2θb2=1\frac{x^2cos^2\theta +2xycos\theta sin\theta +y^2sin^2\theta}{a^2}+\frac{y^2cos^2\theta -2xysin\theta cos\theta +x^2sin^2\theta}{b^2}=1a2x2cos2θ+2xycosθsinθ+y2sin2θ+b2y2cos2θ−2xysinθcosθ+x2sin2θ=1
cos2θa2x2+sin2θb2x2+2cosθsinθa2xy−2sinθcosθb2xy+sin2θa2y2+cos2θb2y2=1\frac{cos^2\theta}{a^2}x^2+\frac{sin^2\theta}{b^2}x^2+\frac{2cos\theta sin\theta}{a^2}xy-\frac{2sin\theta cos\theta}{b^2}xy+\frac{sin^2\theta}{a^2}y^2+\frac{cos^2\theta}{b^2}y^2=1a2cos2θx2+b2sin2θx2+a22cosθsinθxy−b22sinθcosθxy+a2sin2θy2+b2cos2θy2=1
(cos2θa2+sin2θb2)x2+2sinθcosθ(1a2−1b2)xy+(sin2θa2+cos2θb2)y2=1\left( \frac{cos^2\theta}{a^2}+\frac{sin^2\theta}{b^2} \right) x^2+2sin\theta cos\theta \left( \frac{1}{a^2}-\frac{1}{b^2} \right) xy+\left( \frac{sin^2\theta}{a^2}+\frac{cos^2\theta}{b^2} \right) y^2=1(a2cos2θ+b2sin2θ)x2+2sinθcosθ(a21−b21)xy+(a2sin2θ+b2cos2θ)y2=1
(cos2θa2+sin2θb2)x2+2sinθcosθ(1a2−1b2)xy+(sin2θa2+cos2θb2)y2=1\left( \frac{cos^2\theta}{a^2}+\frac{sin^2\theta}{b^2} \right) x^2+2sin\theta cos\theta \left( \frac{1}{a^2}-\frac{1}{b^2} \right) xy+\left( \frac{sin^2\theta}{a^2}+\frac{cos^2\theta}{b^2} \right) y^2=1(a2cos2θ+b2sin2θ)x2+2sinθcosθ(a21−b21)xy+(a2sin2θ+b2cos2θ)y2=1
⇒设{A=cos2θa2+sin2θb2B=2sinθcosθ(1a2−1b2)C=sin2θa2+cos2θb2\Rightarrow \text{设}\begin{cases} \,A=\frac{cos^2\theta}{a^2}+\frac{sin^2\theta}{b^2}\\ B=2sin\theta cos\theta \left( \frac{1}{a^2}-\frac{1}{b^2} \right)\\ C=\frac{sin^2\theta}{a^2}+\frac{cos^2\theta}{b^2}\\ \end{cases}⇒设⎩⎪⎨⎪⎧A=a2cos2θ+b2sin2θB=2sinθcosθ(a21−b21)C=a2sin2θ+b2cos2θ
则中心点在原点(0,0)(0,0)(0,0)做任意旋转的椭圆方程式可简化为:
Ax2+Bxy+Cy2=1Ax^2+Bxy+Cy^2=1Ax2+Bxy+Cy2=1
A−C可得:(cos2θa2+sin2θb2)−(sin2θa2+cos2θb2)A-C可得:\left( \frac{cos^2\theta}{a^2}+\frac{sin^2\theta}{b^2} \right) -\left( \frac{sin^2\theta}{a^2}+\frac{cos^2\theta}{b^2} \right) A−C可得:(a2cos2θ+b2sin2θ)−(a2sin2θ+b2cos2θ)
=b2cos2θa2b2+a2sin2θa2b2−b2sin2θa2b2−a2cos2θa2b2=\frac{b^2cos^2\theta}{a^2b^2}+\frac{a^2sin^2\theta}{a^2b^2}-\frac{b^2sin^2\theta}{a^2b^2}-\frac{a^2cos^2\theta}{a^2b^2}=a2b2b2cos2θ+a2b2a2sin2θ−a2b2b2sin2θ−a2b2a2cos2θ
=b2cos2θa2b2−a2cos2θa2b2+a2sin2θa2b2−b2sin2θa2b2=\frac{b^2cos^2\theta}{a^2b^2}-\frac{a^2cos^2\theta}{a^2b^2}+\frac{a^2sin^2\theta}{a^2b^2}-\frac{b^2sin^2\theta}{a^2b^2}=a2b2b2cos2θ−a2b2a2cos2θ+a2b2a2sin2θ−a2b2b2sin2θ
=(b2cos2θa2b2−a2cos2θa2b2)−(b2sin2θa2b2−a2sin2θa2b2)=\left(\frac{b^2cos^2\theta}{a^2b^2}-\frac{a^2cos^2\theta}{a^2b^2}\right)-\left( \frac{b^2sin^2\theta}{a^2b^2}-\frac{a^2sin^2\theta}{a^2b^2} \right) =(a2b2b2cos2θ−a2b2a2cos2θ)−(a2b2b2sin2θ−a2b2a2sin2θ)
=cos2θ(b2−a2)−sin2θ(b2−a2)a2b2=\frac{cos^2\theta \left( b^2-a^2 \right) -sin^2\theta \left( b^2-a^2 \right)}{a^2b^2}=a2b2cos2θ(b2−a2)−sin2θ(b2−a2)
=(cos2θ−sin2θ)(b2−a2)a2b2=\frac{\left( cos^2\theta -sin^2\theta \right) \left( b^2-a^2 \right)}{a^2b^2}=a2b2(cos2θ−sin2θ)(b2−a2)
B通分后可得:2sinθcosθ(b2−a2)a2b2B通分后可得:\frac{2sin\theta cos\theta \left( b^2-a^2 \right)}{a^2b^2}B通分后可得:a2b22sinθcosθ(b2−a2)
A−CB为:(cos2θ−sin2θ)(b2−a2)a2b2×a2b22sinθcosθ(b2−a2)=cos2θ−sin2θ2sinθcosθ\frac{A-C}{B}为:\frac{\left( cos^2\theta -sin^2\theta \right) \left( b^2-a^2 \right)}{a^2b^2}\times \frac{a^2b^2}{2sin\theta cos\theta \left( b^2-a^2 \right)}=\frac{cos^2\theta -sin^2\theta}{2sin\theta cos\theta}BA−C为:a2b2(cos2θ−sin2θ)(b2−a2)×2sinθcosθ(b2−a2)a2b2=2sinθcosθcos2θ−sin2θ
根据三角函数二倍角公式:
{sin2θ=2sinθcosθcos2θ=cos2θ−sin2θ\begin{cases} \sin 2\theta =2sin\theta cos\theta\\ \cos 2\theta =cos^2\theta -sin^2\theta\\ \end{cases} {sin2θ=2sinθcosθcos2θ=cos2θ−sin2θ
可得:
cot(2θ)=A−CBcot\left( 2\theta \right) =\frac{A-C}{B}cot(2θ)=BA−C
然后,再次使用坐标旋转变换公式,即可得到椭圆的长短轴信息,参考Rotated Conic Section Identifying这个视频;
通过上述求证,则可以得到,将椭圆中心点平移到(x′,y′)\left( x',y' \right)(x′,y′),并且以(x′,y′)\left( x',y' \right)(x′,y′)为中心的旋转椭圆的一般方程为:
A(x−x′)2+B(x−x′)(y−y′)+C(y−y′)2=1A\left( x-x' \right) ^2+B\left( x-x' \right) \left( y-y' \right) +C\left( y-y' \right) ^2=1A(x−x′)2+B(x−x′)(y−y′)+C(y−y′)2=1
将方程式进一步拆解:
A(x2−2xx′+x′2)+B(xy−xy′−x′y+x′y′)+C(y2−2yy′+y′2)=1A\left( x^2-2xx'+x'^2 \right) +B\left( xy-xy'-x'y+x'y' \right) +C\left( y^2-2yy'+y'^2 \right) =1A(x2−2xx′+x′2)+B(xy−xy′−x′y+x′y′)+C(y2−2yy′+y′2)=1
Ax2−2Axx′+Ax′2+Bxy−Bxy′−Bx′y+Bx′y′+Cy2−2Cyy′+Cy′2=1Ax^2-2Axx'+Ax'^2+Bxy-Bxy'-Bx'y+Bx'y'+Cy^2-2Cyy'+Cy'^2=1Ax2−2Axx′+Ax′2+Bxy−Bxy′−Bx′y+Bx′y′+Cy2−2Cyy′+Cy′2=1
Ax2+Bxy+Cy2−(2Ax′+By′)x−(2Cy′+Bx′)y+(Ax′2+Bx′y′+Cy′2)=1Ax^2+Bxy+Cy^2-\left( 2Ax'+By' \right) x-\left( 2Cy'+Bx' \right) y+\left( Ax'^2+Bx'y'+Cy'^2 \right) =1Ax2+Bxy+Cy2−(2Ax′+By′)x−(2Cy′+Bx′)y+(Ax′2+Bx′y′+Cy′2)=1
最终椭圆的通用方程式为:
x2+BAxy+CAy2−(2x′+BAy′)x−(2CAy′+BAx′)y+(x′2+BAx′y′+CAy′2−1A)=0x^2+\frac{B}{A}xy+\frac{C}{A}y^2-\left( 2x'+\frac{B}{A}y' \right) x-\left( 2\frac{C}{A}y'+\frac{B}{A}x' \right) y+\left( x'^2+\frac{B}{A}x'y'+\frac{C}{A}y'^2-\frac{1}{A} \right) =0x2+ABxy+ACy2−(2x′+ABy′)x−(2ACy′+ABx′)y+(x′2+ABx′y′+ACy′2−A1)=0
将直线方程式与通用椭圆方程式联立求解:
{y=Kx+Mx2+BAxy+CAy2−(2x′+BAy′)x−(2CAy′+BAx′)y+(x′2+BAx′y′+CAy′2−1A)=0\begin{cases} y=Kx+M\\ x^2+\frac{B}{A}xy+\frac{C}{A}y^2-\left( 2x'+\frac{B}{A}y' \right) x-\left( 2\frac{C}{A}y'+\frac{B}{A}x' \right) y+\left( x'^2+\frac{B}{A}x'y'+\frac{C}{A}y'^2-\frac{1}{A} \right) =0\\ \end{cases}{y=Kx+Mx2+ABxy+ACy2−(2x′+ABy′)x−(2ACy′+ABx′)y+(x′2+ABx′y′+ACy′2−A1)=0
x2+BAx(Kx+M)+CA(Kx+M)2−(2x′+BAy′)x−(2CAy′+BAx′)(Kx+M)+(x′2+BAx′y′+CAy′2−1A)=0x^2+\frac{B}{A}x\left( Kx+M \right) +\frac{C}{A}\left( Kx+M \right) ^2-\left( 2x'+\frac{B}{A}y' \right) x-\left( 2\frac{C}{A}y'+\frac{B}{A}x' \right) \left( Kx+M \right) +\left( x'^2+\frac{B}{A}x'y'+\frac{C}{A}y'^2-\frac{1}{A} \right) =0x2+ABx(Kx+M)+AC(Kx+M)2−(2x′+ABy′)x−(2ACy′+ABx′)(Kx+M)+(x′2+ABx′y′+ACy′2−A1)=0
x2+BAKx2+BAMx+CA(K2x2+2KMx+M2)−(2x′+BAy′)x−(2CAKxy′+2CAMy′+BAKxx′+BAMx′)+(x′2+BAx′y′+CAy′2−1A)=0x^2+\frac{B}{A}Kx^2+\frac{B}{A}Mx+\frac{C}{A}\left( K^2x^2+2KMx+M^2 \right) -\left( 2x'+\frac{B}{A}y' \right) x-\left( 2\frac{C}{A}Kxy'+2\frac{C}{A}My'+\frac{B}{A}Kxx'+\frac{B}{A}Mx' \right) +\left( x'^2+\frac{B}{A}x'y'+\frac{C}{A}y'^2-\frac{1}{A} \right) =0x2+ABKx2+ABMx+AC(K2x2+2KMx+M2)−(2x′+ABy′)x−(2ACKxy′+2ACMy′+ABKxx′+ABMx′)+(x′2+ABx′y′+ACy′2−A1)=0
x2+BAKx2+BAMx+CAK2x2+2CAKMx+CAM2−(2x′+BAy′)x−2CAKy′x−2CAMy′−BAKx′x−BAMx′+(x′2+BAx′y′+CAy′2−1A)=0x^2+\frac{B}{A}Kx^2+\frac{B}{A}Mx+\frac{C}{A}K^2x^2+2\frac{C}{A}KMx+\frac{C}{A}M^2-\left( 2x'+\frac{B}{A}y' \right) x-2\frac{C}{A}Ky'x-2\frac{C}{A}My'-\frac{B}{A}Kx'x-\frac{B}{A}Mx'+\left( x'^2+\frac{B}{A}x'y'+\frac{C}{A}y'^2-\frac{1}{A} \right) =0x2+ABKx2+ABMx+ACK2x2+2ACKMx+ACM2−(2x′+ABy′)x−2ACKy′x−2ACMy′−ABKx′x−ABMx′+(x′2+ABx′y′+ACy′2−A1)=0
(1+BAK+CAK2)x2+(BAM+2CAKM−2x′−BAy′−2CAKy′−BAKx′)x+(CAM2−2CAMy′−BAMx′+x′2+BAx′y′+CAy′2−1A)=0\left( 1+\frac{B}{A}K+\frac{C}{A}K^2 \right) x^2+\left( \frac{B}{A}M+2\frac{C}{A}KM-2x'-\frac{B}{A}y'-2\frac{C}{A}Ky'-\frac{B}{A}Kx' \right) x+\left( \frac{C}{A}M^2-2\frac{C}{A}My'-\frac{B}{A}Mx'+x'^2+\frac{B}{A}x'y'+\frac{C}{A}y'^2-\frac{1}{A} \right) =0(1+ABK+ACK2)x2+(ABM+2ACKM−2x′−ABy′−2ACKy′−ABKx′)x+(ACM2−2ACMy′−ABMx′+x′2+ABx′y′+ACy′2−A1)=0
最终得到一元二次方程式为:
(A+BK+CK2)x2+(BM+2CKM−2Ax′−By′−2CKy′−BKx′)x+(CM2−2CMy′−BMx′+Ax′2+Bx′y′+Cy′2−1)=0\left( A+BK+CK^2 \right) x^2+\left( BM+2CKM-2Ax'-By'-2CKy'-BKx' \right) x+\left( CM^2-2CMy'-BMx'+Ax'^2+Bx'y'+Cy'^2-1 \right) =0(A+BK+CK2)x2+(BM+2CKM−2Ax′−By′−2CKy′−BKx′)x+(CM2−2CMy′−BMx′+Ax′2+Bx′y′+Cy′2−1)=0
综合前期
⇒记{K=−kmM=−nm\Rightarrow \text{记}\begin{cases} K=-\frac{k}{m}\\ M=-\frac{n}{m} \end{cases}⇒记{K=−mkM=−mn
⇒记{A=cos2θa2+sin2θb2B=2sinθcosθ(1a2−1b2)C=sin2θa2+cos2θb2\Rightarrow \text{记}\begin{cases} \,A=\frac{cos^2\theta}{a^2}+\frac{sin^2\theta}{b^2}\\ B=2sin\theta cos\theta \left( \frac{1}{a^2}-\frac{1}{b^2} \right)\\ C=\frac{sin^2\theta}{a^2}+\frac{cos^2\theta}{b^2}\\ \end{cases}⇒记⎩⎪⎨⎪⎧A=a2cos2θ+b2sin2θB=2sinθcosθ(a21−b21)C=a2sin2θ+b2cos2θ
椭圆中心点坐标(x′,y′)\left( x',y' \right)(x′,y′)
以上所述以及结合韦达定理,可得直线与任意椭圆交点:
韦达定理{ax2+bx+c=0(a,b,c∈R,a≠0)x1=−b+b2−4ac2a;x2=−b−b2−4ac2aΔ=b2−4ac{Δ>0方程有两个不相等的实根Δ=0方程有两个相等的实根Δ<0方程有两个复根x1+x2=−b+b2−4ac2a+−b−b2−4ac2a=−bax1⋅x2=−b+b2−4ac2a×−b−b2−4ac2a=ca韦达定理\begin{cases} ax^2+bx+c=0\left( a,b,c\in R,a\ne 0 \right)\\ x_1=\frac{-b+\sqrt{b^2-4ac}}{2a}\text{;}x_2=\frac{-b-\sqrt{b^2-4ac}}{2a}\\ \Delta =b^2-4ac\\ \begin{cases} \Delta >0& \text{方程有两个不相等的实根}\\ \Delta =0& \text{方程有两个相等的实根}\\ \Delta <0& \text{方程有两个复根}\\ \end{cases}\\ x_1+x_2=\frac{-b+\sqrt{b^2-4ac}}{2a}+\frac{-b-\sqrt{b^2-4ac}}{2a}=-\frac{b}{a}\\ x_1\cdot x_2=\frac{-b+\sqrt{b^2-4ac}}{2a}\times \frac{-b-\sqrt{b^2-4ac}}{2a}=\frac{c}{a}\\ \end{cases} 韦达定理⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧ax2+bx+c=0(a,b,c∈R,a=0)x1=2a−b+b2−4ac;x2=2a−b−b2−4acΔ=b2−4ac⎩⎪⎨⎪⎧Δ>0Δ=0Δ<0方程有两个不相等的实根方程有两个相等的实根方程有两个复根x1+x2=2a−b+b2−4ac+2a−b−b2−4ac=−abx1⋅x2=2a−b+b2−4ac×2a−b−b2−4ac=ac
2021-7-10 完结!
任意椭圆和直线求交点方程组解析相关推荐
- PCL点云处理之平面内两直线求交点(五十)
PCL点云处理之平面内两直线求交点(五十) 一.两点求直线 二.两直线求交点 二.代码 一.两点求直线 设两个点为 (x1, y1) , (x2, y2),则有: A = y2 - y1 B = x1 ...
- 两条直线求交点c语言,C§ 3.3.1两条直线的交点坐标(5页)-原创力文档
§ 3.1两条直线的交点坐标 学习目标 1.掌握判断两直线相交的方法:会求两直线交点坐标: 2.体会判断两直线相交中的数形结合思想. 学习过程 一.课前准备: (预习教材P112~ P114,找出疑 ...
- matlab曲面与直线交点,MATLAB中求椭圆与直线的交点为什么交点不在椭圆和直线上?...
程序错了吧,解对的肯定在图上三: clear;clc; y00=883.3048 ; x00=110.0967 ; bb=54.1413 ; aa= 31.4013 ; tt= 0.4041 ; k0 ...
- C#CAD二次开发学习 两条直线求交点的方法IntersectWith的一点整理
求两条直线交点时可以使用IntersectWith方法,但对于我这种初学者有点摸不清该怎么使用. 直接上代码吧 [CommandMethod("GTest")]public sta ...
- opencv求解两条直线的交点
假设现在有一个点集,需要拟合出最能够表达点集轮廓的几条直线,并求直线之间的交点. 从点集中拟合直线可以采用的方法:随机抽样一致性(RANSAC),霍夫变换(though transform) 思路1 ...
- 【第一道计算几何题】 UVA11178 Morley‘s Theorem (二维几何,旋转直线求求交点)
整理的算法模板合集: ACM模板 要求D点我们只需要把直线BC向左旋转a/3,向右旋转b/3得到两直线求交点即可. 秒啊秒啊 解锁技能树--计算几何,终于能加一个计算几何版块了 #include< ...
- c语言直线和椭圆的交点,直线与椭圆相交求交点
已知a,b和直线上的两点,中心在原点,求直线与椭圆相交求交点坐标 #include #include #include void main() { double a,b,c,x1,x2,y1,y2,k ...
- 给一条直线和一个椭圆的方程,它们相交于两点,求交点与原点所构成的三角形的面积的最大值
给一条直线和一个椭圆的方程,它们相交于两点,求交点与原点所构成的三角形的面积的最大值
- 用矢量变换的方法求两条直线的交点
求两条直线的交点,最常见的写法是列出两条直线的方程,联立求解. 但这种办法的弊端很大: 1 )算法是坐标系相关的,要考虑直线是水平还是垂直,写出很多判断条件,增加了程序的不稳定性 ...
最新文章
- java 100以内冒泡算法_Java俩种形式实现冒泡排序
- C语言(九)C语言概述
- Linux学习之crontab定时任务
- 代码:显示查询的日历
- Opencv将处理后的视频保存出现的问题
- 447. 回旋镖的数量
- 我,大学没毕业,在OpenAI搞AI,想教教你如何提升“研究品味”
- 运行连接远程服务器失败,应用技巧:如何应付远程控制服务器失败
- MyBatis3源码解析(5)查询结果处理
- 单元测试 代码里面都绝对路径怎么处理_python基础之包,异常处理
- javascript一维数组的排序
- 高斯过程--在GPyTorch中实现一个个性化kernel
- CuteFTP Pro 8.3.4 最新破解绿色版
- 锅炉正反平衡计算热效率
- (转载)yocto相关class总结
- 魔术方法、5个类的魔术属性和单态
- Win10重装的方法?一键重装Win10的图文版教程
- Xcode Cloud 是什么
- UiPath中Assign活动的作用是什么
- 最小拍无差控制器MATLAB求解,最小拍控制器设计.doc
热门文章
- 2019年1月2日申请美国F1学生签证记录
- 互联网晚报 | 潮州特斯拉事故前视频公布;苹果为iPhone 14提供同机维修;文旅部:跨省旅游经营活动不再与风险区实施联动管理...
- 2018拼多多校招【大整数相乘】Python解法
- RANSAC Spline Fitting
- Android Drawable设计圆角
- kubeadm reset重新初始化过程
- 嵌入式linux ARM 开发板 使用pyqt显示界面
- 开手游该如何选用服务器?
- android 4.4 红外,RTK2969平台android4.4添加新红外遥控器(一)
- Error creating bean with name ‘sqlSessionFactory‘ defined in class path resource [applicationContext