当前位置: 首页 > ai >正文

直线与椭圆相交弦长计算公式

直线与椭圆相交弦长计算公式

说明:本文并非我原创,该定理为硬解定理,多参考书已有,只是我在学习写论文,以此为例而已。

文章目录

  • 直线与椭圆相交弦长计算公式
    • 摘要
    • 计算任意直线与中心在原点的椭圆相交弦长
    • 利用线性变换计算任意直线与任意椭圆相交弦长
    • 更一般的二次曲线相交弦弦长公式
    • 结果与结果分析
      • 结果
      • 结果分析

摘要

针对直线与椭圆相交弦长的计算问题,本文采用一元二次方程求根公式,推导得出标准椭圆与任意直线相交的弦长计算公式。研究进一步发现:其一,通过韦达定理可以减少一部分计算;其二,通过等距变换,可将该方法推广至一般二次曲线,得到其与直线相交的弦长计算公式。此外,本文研究存在一定局限性:结合仿射变换与二次型理论,可将高中阶段相关题型拓展至更普遍的二次型理论框架,进而推导得出相应通用定理。

计算任意直线与中心在原点的椭圆相交弦长

图1:任意直线与中心在原点的椭圆相交弦长计算示意图

如图1,表示一个与xxx轴夹角为θ\thetaθ的直线:xsin⁡θ−ycos⁡θ+c=0x\sin \theta -y\cos \theta +c=0xsinθycosθ+c=0
与焦点在xxx轴上的椭圆:x2a2+y2b2=1\frac{x^2}{a^2}+\frac{y^2}{b^2}=1a2x2+b2y2=1相交于A(xA,yA)A\left( x_A,y_A \right)A(xA,yA)B(xB,yB)B\left( x_B,y_B \right)B(xB,yB)两点的示意图。

要求解相交弦的长度,首先要求出AAABBB两点的坐标。联立直线与椭圆的方程:

{xsin⁡θ−ycos⁡θ+c=0x2a2+y2b2=1\begin{cases} x\sin \theta -y\cos \theta +c=0\\ \frac{x^2}{a^2}+\frac{y^2}{b^2}=1 \end{cases} {xsinθycosθ+c=0a2x2+b2y2=1

消去yyy得到二元一次方程组:

(b2cos⁡2θ+a2sin⁡2θ)x2+2a2csin⁡θ⋅x+(a2c2−a2b2cos⁡2θ)=0(b^2\cos^2\theta + a^2\sin^2\theta)x^2 + 2a^2c\sin\theta \cdot x + (a^2c^2 - a^2b^2\cos^2\theta) = 0(b2cos2θ+a2sin2θ)x2+2a2csinθx+(a2c2a2b2cos2θ)=0

当判别式大于000时,计算弦长为:

∣AB∣=(xA−xB)2+(yA−yB)2=1+tan⁡2θ(xA+xB)2−4x1x2=2aba2sin⁡2θ+b2cos⁡2θ−c2b2cos⁡2θ+a2sin⁡2θ\begin{align*} |AB|&=\sqrt{(x_A-x_B)^2+(y_A-y_B)^2}\\ &=\sqrt{1+\tan^2\theta}\sqrt{\left(x_A+x_B\right)^2-4x_1x_2}\\ &=\frac{2ab\sqrt{a^2\sin^2\theta + b^2\cos^2\theta - c^2}}{b^2\cos^2\theta + a^2\sin^2\theta} \end{align*}AB=(xAxB)2+(yAyB)2=1+tan2θ(xA+xB)24x1x2=b2cos2θ+a2sin2θ2aba2sin2θ+b2cos2θc2

利用线性变换计算任意直线与任意椭圆相交弦长

图2:任意二次曲线坐标变化示意图(以椭圆为例)

如图2展示了:对于一般的二次曲线Γ\GammaΓAx2+Bxy+Cy2+Dx+Ey+C=0Ax^2+Bxy+Cy^2+Dx+Ey+C=0Ax2+Bxy+Cy2+Dx+Ey+C=0在坐标系中的情况,其长轴所在的直线与xxx轴的夹角为θ\thetaθ。由于标准二次曲线处理起来较为简单,由此考虑先绕中心坐标(h,k)(h,k)(h,k)逆时针旋转θ\thetaθ的角度然后平移到坐标原点得到中心落在坐标原点的标准二次曲线,变化矩阵如下:

(x′y′1)=(cos⁡θ−sin⁡θhsin⁡θcos⁡θk001)(xy1)\begin{pmatrix} x' \\ y' \\ 1 \end{pmatrix} = \begin{pmatrix} \cos\theta & -\sin\theta & h \\ \sin\theta & \cos\theta & k \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ 1 \end{pmatrix} xy1=cosθsinθ0sinθcosθ0hk1xy1

由此,只要分析中心落在坐标原点的标准二次曲线即可。

更一般的二次曲线相交弦弦长公式

对于直线LLL:Ax+By+C=0Ax+By+C=0Ax+By+C=0与二次曲线Γ\GammaΓ:x2m+y2n=1\frac{x^2}{m}+\frac{y^2}{n}=1mx2+ny2=1

同理联立两个方程可以得到:

(nB2+mA2)x2+2mACx+m(C2−nB2)=0\left(nB^2+mA^2\right)x^2+2mACx+m\left(C^2-nB^2\right)=0 (nB2+mA2)x2+2mACx+m(C2nB2)=0

不难得到,当4mn(nB2+mA2−C2B2)>04mn\left(nB^2+mA^2-C^2B^2\right)>04mn(nB2+mA2C2B2)>0存在两个交点:

x1,2=−mAC±mn(nB2+mA2−C2)(nB2+mA2)x_{1,2}=\frac{- mAC\pm \sqrt{mn\left(nB^2+mA^2-C^2\right)}}{\left(nB^2+mA^2\right)}x1,2=(nB2+mA2)mAC±mn(nB2+mA2C2)

或由韦达定理:

{x1+x2=−2mACnB2+mA2x1x2=m(C2−nB2)nB2+mA2\begin{cases} x_1+x_2=-\frac{2mAC}{nB^2+mA^2}\\ x_1x_2=\frac{m\left(C^2-nB^2\right)}{nB^2+mA^2} \end{cases}{x1+x2=nB2+mA22mACx1x2=nB2+mA2m(C2nB2)

相交弦的长度为:

∣AB∣=1+(AB)2(−2mACnB2+mA2)2−4⋅m(C2−nB2)nB2+mA2|AB|=\sqrt{1+\left(\frac{A}{B}\right)^2}\sqrt{\left(-\frac{2mAC}{nB^2+mA^2}\right)^2-4\cdot\frac{m\left(C^2-nB^2\right)}{nB^2+mA^2}}AB=1+(BA)2(nB2+mA22mAC)24nB2+mA2m(C2nB2)

化简得到:

∣AB∣=2mn(A2+B2)(mA2+nB2−C2)nB2+mA2\boxed{|AB| = \frac{2\sqrt{mn(A^2 + B^2)(mA^2 + nB^2 - C^2)}}{nB^2 + mA^2}}AB=nB2+mA22mn(A2+B2)(mA2+nB2C2)

结果与结果分析

结果

项目椭圆Γ:x2m+y2n=1\Gamma: \frac{x^2}{m} + \frac{y^2}{n} = 1Γ:mx2+ny2=1m>0,n>0m > 0, n > 0m>0,n>0双曲线Γ:x2m+y2n=1\Gamma: \frac{x^2}{m} + \frac{y^2}{n} = 1Γ:mx2+ny2=1m>0,n<0m > 0, n < 0m>0,n<0m<0,n>0m < 0, n > 0m<0,n>0
x1+x2x_1 + x_2x1+x2−2mACnB2+mA2\boxed{-\dfrac{2mAC}{nB^2 + mA^2}}nB2+mA22mAC−2mACnB2+mA2\boxed{-\dfrac{2mAC}{nB^2 + mA^2}}nB2+mA22mAC
x1x2x_1x_2x1x2m(C2−nB2)nB2+mA2\boxed{\dfrac{m(C^2 - nB^2)}{nB^2 + mA^2}}nB2+mA2m(C2nB2)m(C2−nB2)nB2+mA2\boxed{\dfrac{m(C^2 - nB^2)}{nB^2 + mA^2}}nB2+mA2m(C2nB2)
判别式Δ\DeltaΔ4mnB2(mA2+nB2−C2)\boxed{4mnB^2(mA^2 + nB^2 - C^2)}4mnB2(mA2+nB2C2)mn>0mn > 0mn>04mnB2(mA2+nB2−C2)\boxed{4mnB^2(mA^2 + nB^2 - C^2)}4mnB2(mA2+nB2C2)mn<0mn < 0mn<0
相交条件Δ>0⟹mA2+nB2>C2\Delta > 0 \implies mA^2 + nB^2 > C^2Δ>0mA2+nB2>C2Δ>0⟹mA2+nB2−C2<0\Delta > 0 \implies mA^2 + nB^2 - C^2 < 0Δ>0mA2+nB2C2<0(因mn<0mn < 0mn<0,不等号方向反转)
弦长 (|AB|)2mn(A2+B2)(mA2+nB2−C2)nB2+mA2\boxed{\dfrac{2\sqrt{mn(A^2 + B^2)(mA^2 + nB^2 - C^2)}}{nB^2 + mA^2}}nB2+mA22mn(A2+B2)(mA2+nB2C2)2∣mn∣(A2+B2)(C2−mA2−nB2)nB2+mA2\boxed{\dfrac{2\sqrt{|mn|(A^2 + B^2)(C^2 - mA^2 - nB^2)}}{nB^2 + mA^2}}nB2+mA22mn(A2+B2)(C2mA2nB2)

结果分析

A=sin⁡θA=\sin \thetaA=sinθ、$B=\cos \theta 、、C=c、、m=a2$和$n=b2$。代入推广结论得到:

∣AB∣=2aba2sin⁡2θ+b2cos⁡2θ−c2b2cos⁡2θ+a2sin⁡2θ|AB|=\frac{2ab\sqrt{a^2\sin^2\theta + b^2\cos^2\theta - c^2}}{b^2\cos^2\theta + a^2\sin^2\theta}AB=b2cos2θ+a2sin2θ2aba2sin2θ+b2cos2θc2

这与第一部分求解得到的结论是一样的,由此可验证结论的正确性。

http://www.xdnf.cn/news/19228.html

相关文章:

  • 【物联网】BLE Fundamentals 核心概念总结-广告-读写特征-LED控制-传感器通知-上下游通信过程
  • hashmap计算key的hash的时候为什么要右移16位
  • [光学原理与应用-329]:ZEMAX - 主要用途与主要功能
  • 复现 RoboDK 机械臂几何校准(Staubli TX2‑90L / TX200)
  • Redis(自写)
  • MySQL 简介
  • RocketMQ源码详解(NameServer启动流程)
  • Altium Designer中电路板设计
  • 【ICO】快速制作ICON教材/使用icofx3快速制作ico
  • 生成对抗网络(GAN):深度学习领域的革命性突破
  • 深入解析HarmonyOS:UIAbility与Page的生命周期协同
  • var maxScore = Int.MinValue 详解
  • 最长递增子序列(LIS)的 DFS 解法详解与实现
  • 【69页PPT】智慧工厂数字化工厂蓝图规划建设方案(附下载方式)
  • 【计算机组成原理】LRU计数器问题
  • 项目管理的五个阶段是什么
  • 关于PXIe工控机的网速问题XH-PXIe7313万兆网卡
  • Java学习day_14之API(正则表达式)
  • 生成式BI工具(WrenAI)
  • rhel-server-7.9-x86_64-dvd.iso
  • AFSIM仿真工具介绍与源码编译
  • 【开题答辩全过程】以 靖西市旅游网站为例,包含答辩的问题和答案
  • [Oracle] LENGTH()函数
  • php电子签名
  • 【C++】掌握string类操作:高效处理字符串
  • 3D生成模型-NeRF:用神经辐射场定义视图合成
  • Ferris Wheel (贪心 | 双指针)
  • ubuntu 安装conda, ubuntu24安装miniConda
  • 【Pytorch】生成对抗网络实战
  • 服务器托管多少钱一年?服务器托管收费标准