椭圆的矩阵表示法

news2024/12/24 21:08:57

椭圆的矩阵表示法

flyfish

1. 标准几何表示法

标准几何表示法是通过椭圆的几何定义来表示的:
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1其中, a a a 是椭圆的长半轴长度, b b b 是椭圆的短半轴长度。
在这里插入图片描述

2. 线性代数表示法

线性代数表示法是通过椭圆的二次型表示的:
x T Σ − 1 x = c \mathbf{x}^T \Sigma^{-1} \mathbf{x} = c xTΣ1x=c其中, x \mathbf{x} x 是点的向量表示 ( x y ) \begin{pmatrix} x \\ y \end{pmatrix} (xy) Σ \Sigma Σ 是一个正定矩阵(协方差矩阵的逆), c c c 是一个常数。

推导两者之间的关系

我们通过具体推导来看这两者之间的关系:

假设我们有一个标准形式的椭圆方程:
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1
可以将其改写为矩阵形式:
( x y ) ( 1 a 2 0 0 1 b 2 ) ( x y ) = 1 \begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} \frac{1}{a^2} & 0 \\ 0 & \frac{1}{b^2} \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = 1 (xy)(a2100b21)(xy)=1在这里,矩阵 ( 1 a 2 0 0 1 b 2 ) \begin{pmatrix} \frac{1}{a^2} & 0 \\ 0 & \frac{1}{b^2} \end{pmatrix} (a2100b21) 就是 Σ − 1 \Sigma^{-1} Σ1,而常数 c = 1 c = 1 c=1
因此,标准形式的椭圆方程可以被视为线性代数表示法的一种特例,其中:
Σ − 1 = ( 1 a 2 0 0 1 b 2 ) \Sigma^{-1} = \begin{pmatrix} \frac{1}{a^2} & 0 \\ 0 & \frac{1}{b^2} \end{pmatrix} Σ1=(a2100b21)
这也意味着:
Σ = ( a 2 0 0 b 2 ) \Sigma = \begin{pmatrix} a^2 & 0 \\ 0 & b^2 \end{pmatrix} Σ=(a200b2)

更一般的情况

如果椭圆不是标准形式的(例如旋转过或者平移过的椭圆),其线性代数表示法中的矩阵 Σ \Sigma Σ 将不是对角矩阵,而是一个包含非零的非对角元素的矩阵。

1. 椭圆的几何定义

设椭圆的两个焦点分别为 F 1 ( − c , 0 ) F_1(-c, 0) F1(c,0) F 2 ( c , 0 ) F_2(c, 0) F2(c,0),椭圆上的任意一点 P ( x , y ) P(x, y) P(x,y) 满足以下条件:
P F 1 + P F 2 = 2 a PF_1 + PF_2 = 2a PF1+PF2=2a
其中, 2 a 2a 2a 是椭圆的长轴长度, a a a 是长半轴的长度。

2. 代入距离公式

根据距离公式,可以得到 P P P F 1 F_1 F1 F 2 F_2 F2 的距离分别为:
P F 1 = ( x + c ) 2 + y 2 PF_1 = \sqrt{(x + c)^2 + y^2} PF1=(x+c)2+y2
P F 2 = ( x − c ) 2 + y 2 PF_2 = \sqrt{(x - c)^2 + y^2} PF2=(xc)2+y2 根据椭圆的定义,有:
( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 = 2 a \sqrt{(x + c)^2 + y^2} + \sqrt{(x - c)^2 + y^2} = 2a (x+c)2+y2 +(xc)2+y2 =2a

3. 消除根号

为了简化这个方程,我们首先将方程两边平方:
( ( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 ) 2 = ( 2 a ) 2 \left( \sqrt{(x + c)^2 + y^2} + \sqrt{(x - c)^2 + y^2} \right)^2 = (2a)^2 ((x+c)2+y2 +(xc)2+y2 )2=(2a)2展开左边:
( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 + 2 ( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = 4 a 2 (x + c)^2 + y^2 + (x - c)^2 + y^2 + 2 \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} = 4a^2 (x+c)2+y2+(xc)2+y2+2((x+c)2+y2)((xc)2+y2) =4a2

4. 凑平方差

我们先简化左边的前两项:
( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 = x 2 + 2 x c + c 2 + y 2 + x 2 − 2 x c + c 2 + y 2 (x + c)^2 + y^2 + (x - c)^2 + y^2 = x^2 + 2xc + c^2 + y^2 + x^2 - 2xc + c^2 + y^2 (x+c)2+y2+(xc)2+y2=x2+2xc+c2+y2+x22xc+c2+y2
= 2 x 2 + 2 y 2 + 2 c 2 = 2x^2 + 2y^2 + 2c^2 =2x2+2y2+2c2代入上面的方程得到:
2 x 2 + 2 y 2 + 2 c 2 + 2 ( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = 4 a 2 2x^2 + 2y^2 + 2c^2 + 2 \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} = 4a^2 2x2+2y2+2c2+2((x+c)2+y2)((xc)2+y2) =4a2移项得到:
2 ( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = 4 a 2 − 2 x 2 − 2 y 2 − 2 c 2 2 \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} = 4a^2 - 2x^2 - 2y^2 - 2c^2 2((x+c)2+y2)((xc)2+y2) =4a22x22y22c2
( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = 2 a 2 − x 2 − y 2 − c 2 \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} = 2a^2 - x^2 - y^2 - c^2 ((x+c)2+y2)((xc)2+y2) =2a2x2y2c2

5. 消去根号

为了继续消去根号,我们再次平方两边:
( ( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) ) 2 = ( 2 a 2 − x 2 − y 2 − c 2 ) 2 \left( \sqrt{((x + c)^2 + y^2)((x - c)^2 + y^2)} \right)^2 = (2a^2 - x^2 - y^2 - c^2)^2 (((x+c)2+y2)((xc)2+y2) )2=(2a2x2y2c2)2展开左边:
( ( x + c ) 2 + y 2 ) ( ( x − c ) 2 + y 2 ) = ( 2 a 2 − x 2 − y 2 − c 2 ) 2 ((x + c)^2 + y^2)((x - c)^2 + y^2) = (2a^2 - x^2 - y^2 - c^2)^2 ((x+c)2+y2)((xc)2+y2)=(2a2x2y2c2)2

6. 简化方程

左边的展开:
( x 2 + 2 x c + c 2 + y 2 ) ( x 2 − 2 x c + c 2 + y 2 ) (x^2 + 2xc + c^2 + y^2)(x^2 - 2xc + c^2 + y^2) (x2+2xc+c2+y2)(x22xc+c2+y2)
= ( x 2 + y 2 + c 2 ) 2 − ( 2 x c ) 2 = (x^2 + y^2 + c^2)^2 - (2xc)^2 =(x2+y2+c2)2(2xc)2
= ( x 2 + y 2 + c 2 ) 2 − 4 x 2 c 2 = (x^2 + y^2 + c^2)^2 - 4x^2c^2 =(x2+y2+c2)24x2c2右边的展开:
( 2 a 2 − x 2 − y 2 − c 2 ) 2 (2a^2 - x^2 - y^2 - c^2)^2 (2a2x2y2c2)2
= 4 a 4 − 4 a 2 ( x 2 + y 2 + c 2 ) + ( x 2 + y 2 + c 2 ) 2 = 4a^4 - 4a^2(x^2 + y^2 + c^2) + (x^2 + y^2 + c^2)^2 =4a44a2(x2+y2+c2)+(x2+y2+c2)2令左边和右边相等:
( x 2 + y 2 + c 2 ) 2 − 4 x 2 c 2 = 4 a 4 − 4 a 2 ( x 2 + y 2 + c 2 ) + ( x 2 + y 2 + c 2 ) 2 (x^2 + y^2 + c^2)^2 - 4x^2c^2 = 4a^4 - 4a^2(x^2 + y^2 + c^2) + (x^2 + y^2 + c^2)^2 (x2+y2+c2)24x2c2=4a44a2(x2+y2+c2)+(x2+y2+c2)2相消掉相同项后:
− 4 x 2 c 2 = 4 a 4 − 4 a 2 ( x 2 + y 2 + c 2 ) - 4x^2c^2 = 4a^4 - 4a^2(x^2 + y^2 + c^2) 4x2c2=4a44a2(x2+y2+c2)
x 2 c 2 = a 2 ( x 2 + y 2 + c 2 ) − a 4 x^2c^2 = a^2(x^2 + y^2 + c^2) - a^4 x2c2=a2(x2+y2+c2)a4由于 c 2 = a 2 − b 2 c^2 = a^2 - b^2 c2=a2b2,我们将其代入上式中:
x 2 ( a 2 − b 2 ) = a 2 ( x 2 + y 2 + ( a 2 − b 2 ) ) − a 4 x^2(a^2 - b^2) = a^2(x^2 + y^2 + (a^2 - b^2)) - a^4 x2(a2b2)=a2(x2+y2+(a2b2))a4
x 2 a 2 − x 2 b 2 = a 2 x 2 + a 2 y 2 + a 4 − a 2 b 2 − a 4 x^2a^2 - x^2b^2 = a^2x^2 + a^2y^2 + a^4 - a^2b^2 - a^4 x2a2x2b2=a2x2+a2y2+a4a2b2a4
x 2 a 2 − x 2 b 2 = a 2 x 2 + a 2 y 2 − a 2 b 2 x^2a^2 - x^2b^2 = a^2x^2 + a^2y^2 - a^2b^2 x2a2x2b2=a2x2+a2y2a2b2整理后得到:
− x 2 b 2 = a 2 y 2 − a 2 b 2 -x^2b^2 = a^2y^2 - a^2b^2 x2b2=a2y2a2b2
x 2 b 2 = a 2 b 2 − a 2 y 2 x^2b^2 = a^2b^2 - a^2y^2 x2b2=a2b2a2y2
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1

最终的标准椭圆方程

x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1843168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaBean与内省,注解的语法及使用

JavaBean Javabean 是 Java 中最重要的一个可重用的组件(减少代码重复,可重用,封装业务逻辑,封装数据).组件:一些符合某种规范的类,可以完成特定的功能. JavaBean 的规范要求: 使用 public 修饰.字段私有化.提供 get/set 方法.公共的无参数的构造器.(使用反射,使用字节码对象.n…

记录一次递归查询导致的 java.lang.StackOverflowError: null

问题截图: 由于作者使用递归统计信息,刚开始这个接口运行得正常,但是上线运行一段时间后接口就出现了,如图的栈溢出错误。可以看出确实是堆栈溢出了,解决栈溢出目前只有两种方式: 第一种调大栈的大小&…

MySQL 离线安装客户端

1. 官方网址下载对应架构的安装包。 比如我的是centOs 7 x64。则需下载如图所示的安装包。 2. 安装 使用如下命令依次安装 devel , client-plugins, client. rpm -ivh mysql-community-*.x86_64.rpm --nodeps --force 在Linux系统中,rpm是一个强大的包管理工具&…

Java面试八股之Mybatis和JPA的区别

Mybatis和JPA的区别 Mybatis 和 JPA(Java Persistence API)是两种在 Java 应用程序中用于数据持久化的框架,它们各有特点和适用场景。下面是它们之间的一些主要区别: 映射方式: Mybatis 是半自动的 ORM 框架&#xf…

移植案例与原理 - HPM包描述文件bundle.json

发现各个子系统、组件、三方库目录下都添加了bundle.json,了解下该文件的用途、用法并快速记录下。 1、HPM Bundle的基本概念 Bundle是OpenHarmony中一个用来表示分发单元的术语,等同于包,一个Bundle中通常包含以下内容: 被分发…

股票核心因子解读以及如何从接口获取股票数据信息

目录 1 股票基础信息1.1 股票核心因子1.2 获取股票信息 2 如何从接口获取股票数据2.1 yfinance2.2 finnhub-python2.3 alpha_vantage2.4 efinance2.4 Tushare 3 如何从各大金融平台获取咨询信息3.1 国外3.2 国内 1 股票基础信息 1.1 股票核心因子 基本面因子 因子名称计算公…

23种设计模式之桥接模式

桥接模式 1、定义 桥接模式:将抽象部分与它的实现部分解耦,使得两者都能独立变化 2、桥接模式结构 Abstraction(抽象类):它是用于定义抽象类的,通常是抽象类而不是接口,其中定义了一个Imple…

基于JSP的高校信息资源共享平台

开头语: 你好呀,我是计算机学长猫哥!如果你对高校信息资源共享平台感兴趣或者有相关需求,可以通过文末的联系方式找到我。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:IDEA…

2024/6/20 驱动day7GPIO子系统

GPIO子系统点六盏灯 #include <linux/init.h> #include <linux/module.h> #include <linux/of.h> #include <linux/gpio.h> #include <linux/of_gpio.h> struct device_node* node; struct device_node* child_node1; struct device_node* child…

CRMEB多商户阿里云集群部署流程

注意: 1.所有服务创建时地域一定要选择一致,这里我用的是杭州K区 2.文件/图片上传一定要用类似oss的云文件服务, 本文不做演示 一、 创建容器镜像服务&#xff0c;容器镜像服务(aliyun.com) ,个人版本就可以 先创建一个命名空间然后创建一个镜像仓库查看并记录镜像公网地址创建…

基于功率谱密度的旋转机械故障诊断方法(MATLAB R2021b)

关于功率谱密度&#xff0c;可以参考如下文章&#xff1a; https://zhuanlan.zhihu.com/p/417454806 在实际应用中&#xff0c;一个信号我们不可能获得无穷长时间段内的点&#xff0c;对于数字信号&#xff0c;只能通过采样的方式获得N个离散的点。实际信号基本上是随机信号&…

机器学习——RNN、LSTM

RNN 特点&#xff1a;输入层是层层相关联的&#xff0c;输入包括上一个隐藏层的输出h1和外界输入x2&#xff0c;然后融合一个张量&#xff0c;通过全连接得到h2&#xff0c;重复 优点&#xff1a;结构简单&#xff0c;参数总量少&#xff0c;在短序列任务上性能好 缺点&#x…

当游戏遭遇安全问题,我们应该怎么做?

在游戏安全领域&#xff0c;专业性最差、但最常见的案例类型是DDoS攻击&#xff08;分布式拒绝服务攻击&#xff09;。出于它的特性&#xff0c;中小厂商、独立开发者较容易遭受这类攻击。 例如&#xff0c;今年2月29日上线的手游《雷索纳斯》就遭受了名为ACCN组织发起的DDoS攻…

Windows反截屏开发实现

文章目录 Windows反截屏开发实现1. SetWindowDisplayAffinity2. 反截屏系统3. 总结 Windows反截屏开发实现 最近在我们云桌面中需要做到反截屏能力&#xff0c;所谓反截屏就是我们无法通过截图软件&#xff08;微信&#xff0c;QQ&#xff0c;截图等程序&#xff09;截取桌面的…

RTSP/Onvif安防监控平台EasyNVR抓包命令tcpdump使用不了的解决方法

安防视频监控汇聚EasyNVR智能安防视频监控平台&#xff0c;是基于RTSP/Onvif协议的安防视频平台&#xff0c;可支持将接入的视频流进行全平台、全终端分发&#xff0c;分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。平台可提供的视频能力包括&#xff1a;…

FLEXPART拉格朗日粒子扩散模式建模技术及研究大气污染物源-汇关系

原文链接&#xff1a;FLEXPART拉格朗日粒子扩散模式建模技术及研究大气污染物源-汇关系 当前&#xff0c;大气污染是我国重要的环境问题之一。为了高效、精准地治理区域大气污染&#xff0c;需要弄清污染物的来源。拉格朗日粒子扩散模式FLEXPART通过计算点、线、面或体积源释放…

RocketMQ快速入门:如何保证消息不丢失|保证消息可靠性(九)

0. 引言 在金融、电商等对数据完整性要求极高的行业&#xff0c;消息的丢失可能会导致数据不一致&#xff0c;严重影响业务逻辑和数据统计&#xff0c;也影响客户体验&#xff0c;所以在很多业务场景下&#xff0c;我们都要求数据不能丢失。而rocketmq中&#xff0c;如何对消息…

jar包运行脚本

start&#xff1a; # 启动项目 #!/bin/bash nohup java -jar audit-2.1.0.jar > app.log 2>&1 & quit&#xff1a; # 关闭程序 #!/bin/bash PID$(pgrep -f audit-2.1.0.jar) # 根据应用程序名称查找进程ID kill -9 $PID # 结束进程使用 sh命令运行

泛微开发修炼之旅--22泛微实现免登陆得解决方案之一

文章链接&#xff1a;22泛微实现免登陆得解决方案之一