椭圆的矩阵表示法
椭圆的矩阵表示法
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=(x−c)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+(x−c)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+(x−c)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+(x−c)2+y2+2((x+c)2+y2)((x−c)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+(x−c)2+y2=x2+2xc+c2+y2+x2−2xc+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)((x−c)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)((x−c)2+y2)=4a2−2x2−2y2−2c2
( ( 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)((x−c)2+y2)=2a2−x2−y2−c2
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)((x−c)2+y2))2=(2a2−x2−y2−c2)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)((x−c)2+y2)=(2a2−x2−y2−c2)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)(x2−2xc+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)2−4x2c2右边的展开:
( 2 a 2 − x 2 − y 2 − c 2 ) 2 (2a^2 - x^2 - y^2 - c^2)^2 (2a2−x2−y2−c2)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 =4a4−4a2(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)2−4x2c2=4a4−4a2(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=4a4−4a2(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=a2−b2,我们将其代入上式中:
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(a2−b2)=a2(x2+y2+(a2−b2))−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 x2a2−x2b2=a2x2+a2y2+a4−a2b2−a4
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 x2a2−x2b2=a2x2+a2y2−a2b2整理后得到:
− x 2 b 2 = a 2 y 2 − a 2 b 2 -x^2b^2 = a^2y^2 - a^2b^2 −x2b2=a2y2−a2b2
x 2 b 2 = a 2 b 2 − a 2 y 2 x^2b^2 = a^2b^2 - a^2y^2 x2b2=a2b2−a2y2
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
相关文章:
椭圆的矩阵表示法
椭圆的矩阵表示法 flyfish 1. 标准几何表示法 标准几何表示法是通过椭圆的几何定义来表示的: x 2 a 2 y 2 b 2 1 \frac{x^2}{a^2} \frac{y^2}{b^2} 1 a2x2b2y21其中, a a a 是椭圆的长半轴长度, b b b 是椭圆的短半轴长度。 2.…...
智慧乡村和美人家信息化系统
一、简介 智慧乡村和美人家信息化系统是一个综合管理平台,集成了首页概览、一张图可视化、数据填报、智能评估、便捷申报、公开公示、任务管理、活动发布和灵活配置等功能。该系统不仅提升了乡村管理效率,也优化了家庭生活的便捷性。通过一张图…...
ios-deploy - Required for installing your app on a physical device with the CLI
ios-deploy 是一个用于在 iOS 设备上安装、调试和运行 iOS 应用的开源工具。如果你正在使用命令行界面(CLI)来部署 React Native 或其他原生 iOS 应用到物理设备,那么安装 ios-deploy 是必要的。 以下是安装 ios-deploy 的一般步骤ÿ…...
thinkphp5使用模型删除与复杂查询EXP
模型删除 应用软删除 表中需要有字段,deletetime 模型中使用下面方法 use SoftDelete;protected $deleteTime delete_time;真实删除 // 软删除 User::destroy(1); // 真实删除 User::destroy(1,true); $user User::get(1); // 软删除 $user->delete(); // 真…...
铜陵市省重点实验室、省工程技术研究中心认定奖励补贴和申报认定条件流程归集
本文介绍铜陵市省重点实验室、省工程技术研究中心认定奖励补贴和申报认定条件等内容,详情如下,需要申报的可指导! 铜陵市省重点实验室、省工程技术研究中心认定奖励补贴(2023年发布) 对新认定的国家重点实验室、国家…...
Linux-目录和文件
目录 一、Linux目录 1、Linux常见目录 2、常见的Linux文件类型 二、cat-查看文件命令 1、cat命令用法 三、分页查看文件内容 1、 more命令 2、less命令 3、more和less的区别 四、查看文件开头或末尾 1、head命令 2、tail命令 3、wc-统计文件内容 4、grep 命令…...
2024-06月 | 维信金科 | 风控数据岗位推荐,高收入岗位来袭!
今日推荐岗位:策略分析经理/分析专家、贷前、中策略分析、风控模型分析。 风控部门是金融业务的核心部门,而从事风控行业的人即称之为风险管理者。是大脑,是最最最重要的部门之一。今日推荐岗位的核心技能分布如下: 简历发送方式…...
不适合编程的人是怎样的?
你知道不适合编程的人是怎样的吗?其实,对编程没有兴趣的人往往都不适合从事编程工作。编程并非是一项轻松简单的任务,它需要投入大量的时间和精力。 编程领域有其独特的特点和要求。首先,编程有着相当陡峭的学习曲线。从最基础的语…...
el-table表格变更前后根据数据值改变背景颜色
需求: 1.左侧变更前表格数据不可以编辑,并且背景色加灰 2.右侧变更后表格数据可被编辑,编辑后变更前与变更后行数据不一致,添加背景色区分 3.点击删除的时候,给变更后表格当前行,添加背景色和删除的中横…...
flask基础知识1
目录 1.介绍 2.体验一下 3.配置参数: 4.路由和URL 1.路由 2.动态路由: 自定义转换器: 3.使用自定义转换器 5.url_for函数 6.request参数 7.处理响应: 1.重定向: 2.返回json数据: 3.返回模板&…...
第8天:Django Admin高级配置
第8天:Django Admin高级配置 目标 定制Django Admin界面,提高数据管理效率。 任务概览 注册模型到Admin界面。定制Admin选项,如列表显示、搜索字段、过滤器等。 详细步骤 1. 注册模型到Admin界面 在Django Admin中注册模型,…...
本地无法连接linux上的MariaDB数据库
问题:本地用DBeaver无法连接服务器上的MariaDB数据库 ? 测试1:在cmd中ping 服务器IP,看是否能ping通,能ping通,没有问题 测试2:在cmd中telnet 服务器IP 端口,看是否能访问…...
使用 Netty 自定义解码器处理粘包和拆包问题详解
使用 Netty 自定义解码器处理粘包和拆包问题详解 在网络编程中,粘包和拆包问题是常见的挑战。粘包是指多个数据包在传输过程中粘在一起,而拆包是指一个数据包在传输过程中被拆分成多个部分。Netty 是一个高性能、事件驱动的网络应用框架,提供…...
SDK编译IO Domain电压选择
开源鸿蒙硬件方案领跑者 触觉智能 本文适用于在Purple Pi OH开发板进行分区镜像烧录。触觉智能的Purple Pi OH鸿蒙开源主板,是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党,极客,工程师,极大降低了开源鸿蒙…...
如何在纯内网环境下,将EasyCVR视频汇聚网关通过4G与第三方公网云平台级联?
EasyCVR视频汇聚网关是TSINGSEE青犀软硬一体的一款产品,可提供多协议的接入、音视频采集、处理,能实现海量前端设备的轻量化接入/转码/分发、视频直播、云端录像、云存储、检索回看、智能告警、平台级联等,兼容多种操作系统,轻松扩…...
2024-06-14 AI资讯:CCF论坛探讨大模型挑战,启动安全赛
智源社区 共话大模型技术进展与挑战,CCF大模型论坛北京会议圆满落幕! 2024 年 6 月 6 日中国计算机学会大模型论坛(CCF FoLM)主题会议在北京顺利举办。本次会议主题为“大模型技术进展与挑战”,各位专家围绕大模型技…...
玩转Matlab-Simscape(初级)- 10 - 基于COMSOLSimulink 凸轮机构的控制仿真
** 玩转Matlab-Simscape(初级)- 10 - 基于COMSOL&Simulink 凸轮机构的控制仿真 ** 目录 玩转Matlab-Simscape(初级)- 10 - 基于COMSOL&Simulink 凸轮机构的控制仿真 前言一、简介二、在Solidworks中创建3D模型ÿ…...
spark学习总结
系列文章目录 第1天总结:spark基础学习 1- Spark基本介绍(了解)2- Spark入门案例(掌握)3- 常见面试题(掌握) 文章目录 系列文章目录前言一、Spark基本介绍1、Spark是什么1.1 定义1.2 Spark与M…...
eNSP学习——帧中继基本配置
目录 主要命令 基本原理 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、静态与动态映射的配置 3、子接口配置和静态路由 主要命令 [R1]int s1/0/0 [R1-Serial1/0/0]link-protocol fr //配置链路层协议为FR Warning: The encapsulation protocol…...
XML Encoding = ‘GBK‘ after STRANS,中文乱码
最近帮同事处理了一个中信银行银企直连接口的一个问题,同事反馈,使用STRANS转换XML后,encoding始终是’utf-16’,就算指定了GBK也不行。尝试了很多办法始终不行,发到银行的数据中,中文始终是乱码。 Debug使用HTML视图…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
