椭圆的几何要素

椭圆的几何要素

flyfish
在这里插入图片描述

  • 椭圆的方程为 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(紫色虚线)。

  • 焦点 F 1 ( − c , 0 ) F1(-c, 0) F1(c,0)(红色点)和 F 2 ( c , 0 ) F2(c, 0) F2(c,0)(蓝色点),焦距 c c c(黄色虚线)。

假设我们有一个椭圆,其长轴长度为 2 a 2a 2a,短轴长度为 2 b 2b 2b,两个焦点分别位于 F 1 ( − c , 0 ) F_1(-c, 0) F1(c,0) F 2 ( c , 0 ) F_2(c, 0) F2(c,0)。根据椭圆的定义,椭圆上任意一点到两个焦点的距离之和为常数,并且等于长轴的长度。考虑椭圆上的顶点 ( a , 0 ) (a, 0) (a,0) ( − a , 0 ) (-a, 0) (a,0)

  • ( a , 0 ) (a, 0) (a,0) 到两个焦点的距离分别为 ( a + c ) 2 + 0 2 \sqrt{(a + c)^2 + 0^2} (a+c)2+02 ( a − c ) 2 + 0 2 \sqrt{(a - c)^2 + 0^2} (ac)2+02 ,因此有:
    ( a + c ) 2 + ( a − c ) 2 = 2 a \sqrt{(a + c)^2} + \sqrt{(a - c)^2} = 2a (a+c)2 +(ac)2 =2a

( a + c ) + ( a − c ) = 2 a (a + c) + (a - c) = 2a (a+c)+(ac)=2a

为什么 c 2 = a 2 − b 2 c^2 = a^2 - b^2 c2=a2b2

对于椭圆上的任意一点 P ( x , y ) P(x, y) P(x,y),到两个焦点的距离之和是常数,并且等于椭圆的长轴长度 2 a 2a 2a$。即
d ( P , F 1 ) + d ( P , F 2 ) = 2 a d(P, F_1) + d(P, F_2) = 2a d(P,F1)+d(P,F2)=2a
其中 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) 是椭圆上的任意一点,根据距离公式:
d ( P , F 1 ) = ( x + c ) 2 + y 2 d(P, F_1) = \sqrt{(x + c)^2 + y^2} d(P,F1)=(x+c)2+y2
d ( P , F 2 ) = ( x − c ) 2 + y 2 d(P, F_2) = \sqrt{(x - c)^2 + y^2} d(P,F2)=(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
考虑椭圆上的另一点 ( 0 , b ) (0, b) (0,b) ( x = 0 , y = b ) (x=0, y=b) (x=0,y=b)

  • ( 0 , b ) (0, b) (0,b) 到两个焦点的距离分别为
    ( − c ) 2 + b 2 \sqrt{(-c)^2 + b^2} (c)2+b2
    c 2 + b 2 \sqrt{c^2 + b^2} c2+b2 ,根据椭圆的定义,有:
    c 2 + b 2 + c 2 + b 2 = 2 a \sqrt{c^2 + b^2} + \sqrt{c^2 + b^2} = 2a c2+b2 +c2+b2 =2a

2 c 2 + b 2 = 2 a 2\sqrt{c^2 + b^2} = 2a 2c2+b2 =2a

c 2 + b 2 = a \sqrt{c^2 + b^2} = a c2+b2 =a

两边平方:
c 2 + b 2 = a 2 c^2 + b^2 = a^2 c2+b2=a2

因此,得出结论:
c 2 = a 2 − b 2 c^2 = a^2 - b^2 c2=a2b2
上图的代码

import matplotlib.pyplot as plt
import numpy as np# 椭圆的长半轴 a 和短半轴 b
a = 5
b = 3
# 计算焦距 c
c = np.sqrt(a**2 - b**2)# 创建一个椭圆
theta = np.linspace(0, 2 * np.pi, 1000)
x = a * np.cos(theta)
y = b * np.sin(theta)# 焦点坐标
F1 = (-c, 0)
F2 = (c, 0)# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  
plt.rcParams['axes.unicode_minus'] = False  # 绘制椭圆
plt.figure(figsize=(8, 8))
plt.plot(x, y, label=r'$\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$')
plt.scatter(*F1, color='red', label='焦点 F1(-c, 0)')
plt.scatter(*F2, color='blue', label='焦点 F2(c, 0)')# 标注长半轴 a 和短半轴 b
plt.plot([0, a], [0, 0], 'g--', label='长半轴 a')
plt.plot([0, 0], [0, b], 'm--', label='短半轴 b')
plt.plot([0, -a], [0, 0], 'g--')
plt.plot([0, 0], [0, -b], 'm--')# 标注焦距 c
plt.plot([0, c], [0, 0], 'y--', label='焦距 c')
plt.plot([0, -c], [0, 0], 'y--')# 添加图例
plt.legend()# 设置图形范围
plt.xlim(-6, 6)
plt.ylim(-6, 6)
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.gca().set_aspect('equal', adjustable='box')
plt.title("椭圆及其几何要素")
plt.show()

在这里插入图片描述

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

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

相关文章

暴雨讲堂|通往AGI的必由之路—AI agent是什么?

在三月份英伟达的新品发布会上,黄仁勋反复提及一个词汇— Generalist Embodied Agent,意为“通用具身智能体”,给观众留下了深刻的印象。其实具身智能指的是不同形态的拥有主动感知交互能力的机器人。其实,业界对它还有一个更为熟…

python如何安装ta-lib依赖包

在使用pip install ta-lib安装ta-lib库的时候,出现了以下错误信息。本文记录安装成功的整个过程。 解决办法 1、创建虚拟环境 我们使用conda进行创建一个python=3.8版本的虚拟环境 conda create -n python38 python==3.8激活创建好虚拟环境 conda activate python382、安装步…

媒体访谈 | 广告变现痛点有新解,俄罗斯市场成大热门?

今年一季度,中国自主研发游戏在海外市场实际销售收入达到了40.75亿美元,环比和同比均实现了超过5%的增长,出海,仍是游戏产品近些年来最主要的发展模式之一。 当今的市场环境正经历一系列深刻变革,移动游戏广告市场呈现…

IDEA集成Docker实现快捷部署

本文已收录于专栏 《运维》 目录 背景介绍优势特点操作步骤一、修改Docker配置二、配置Docker插件三、编写Maven插件四、构建Docker镜像五、创建Docker容器 总结提升 背景介绍 在我们手动通过Docker部署项目的时候,都是通过把打包好的jar包放到服务器上并且在服务器…

git提交遇见的<<<<<<<< HEAD无法运行程序问题

在项目文件目录下打开git bash Here 在命令行中输入 git reset --hard HEAD~1 进行复原 git reset --hard HEAD~1 即可

【Java】线程池技术(三)ThreadPoolExecutor 状态与运行源码解析

ThreadPoolExecutor 状态 ThreadPoolExecutor 继承了 AbstractExecutorService,并实现了 ExecutorService 接口,用于管理线程。内部使用了原子整型 AtomicInteger ctl 来表示线程池状态和 Worker 数量。前 3 位表示线程池状态,后 29 位表示 …

python代码生成可执行文件

以下面转换图片尺寸的代码resize_images.py为例: 代码功能:原始图片放在img文件夹中,然后运行代码可以转换成指定分辨率,保存在同一目录下的新生成的文件夹中 import os import sys import cv2 from datetime import datetime f…

在React中,如何利用React.memo函数对函数组件进行优化?

React.memo 是 React 的一个高阶组件,用于对函数组件进行性能优化。它通过记忆化(memoization)来避免不必要的重新渲染。当组件的 props 没有变化时,React.memo 可以防止组件重新渲染,从而提高应用的性能。 使用 Reac…

wireshark抓包ssl数据出现ignored unknown record的原因

文章目录 前言一、出现原因二、wireshark抓包分析Ignored Unknown RecordTCP segment of a reassembled PDU 总结 前言 使用下面这个例子来观察记录层数据大于TCP MSS时用wireshark抓包出现ignored unknown record的情况并分析原因。 c语言利用openssl实现简单客户端和服务端&…

Rich Human Feedback for Text-to-Image Generation 读论文笔记

Rich Human Feedback for Text-to-Image Generation 读论文笔记 摘要方法细节收集数据的过程人类反馈确认 数据集VQA使用方法数据分析分数统计评价一致性(pair alignment) 实验模型模型架构模型变体模型其他优化 实验MetricsScoreHeatmapMisalignment 量…

什么是NLP-自然语言处理

什么是NLP-自然语言处理 什么是NLP开通NLP新建项目创建模型 什么是NLP NPL是面向算法小白用户的行业自适应标注、训练和服务平台。该产品支持文本实体抽取、文本分类、关键短语抽取、情感分析、关系抽取、短文本匹配、商品评价解析等 NLP 定制化算法能力,用户无需拥…

【变量与常量】

1.基本程序 容器用来存放物品 声明变量 num 是个用来装整数的变量 ! 一 个整数变量需要 4 个 byte 存储, 计算机 在内存里为你分配了 4 个 byte 。int num;在代码中,声明一个变量。 常用变量类型 存储不同类型的数据需要声明不同类型的变…

Steam怎么购买黄金树之影 购买了黄金树之影怎么下载DLC教程

《艾尔登法环》大型DLC“黄金树幽影”将于6月21日正式上线,为广大玩家带来全新的冒险与挑战。在“黄金树幽影”中,玩家将拥有专属的强化系统。通过收集探索幽影之地获得的“幽影树的碎片”和“灵灰的加护”,不仅可以大幅度提升玩家的攻击力与…

【从零到一】电子元器件网站建设/开发方案、流程及搭建要点全解

电子元器件行业在数字化转型的大潮下也迎来了前所未有的发展机遇。一个高效、专业、用户友好的电子元器件网站,不仅能够提升品牌形象,还能显著提高销售转化率,增强客户粘性。道合顺芯站点将详细阐述电子元器件开发方案、实施流程,…

从混乱到有序:SRM系统如何优化工厂采购流程

一、工厂采购管理的重要性 工厂采购管理是企业运营中的关键环节,它直接影响到生产成本、产品质量和市场响应速度。有效的采购管理能够降低成本、提升供应链的灵活性和响应市场变化的能力。在竞争激烈的市场环境中,采购管理的优劣直接关系到企业的竞争力…

HarmonyOS角落里的知识—Stage模型应用程序

开发态包结构 在DevEco Studio上创建一个项目工程,并尝试创建多个不同类型的Module。根据实际工程中的目录对照本章节进行学习,可以有助于理解开发态的应用程序结构。 图1 项目工程结构示意图(以实际为准) 工程结构主要包含的文…

解释React中的“端口(Portals)”是什么,以及如何使用它来渲染子节点到DOM树以外的部分。

React中的“端口(Portals)”是一种将子节点渲染到DOM****树以外的部分的技术。在React应用中,通常情况下组件的渲染是遵循DOM的层次结构,即子组件会渲染在父组件的DOM节点内部。然而,有些情况下,开发者可能…

4K高质量视频素材库,剪辑必备

找免费4K 高质量视频素材,就上这8个网站,剪辑必备,赶紧收藏吧! 1、baotu 【实拍视频】免费下载_实拍视频素材​ibaotu.com/shipin/7-5026-0-0-0-1.html?spmzhkolws​编辑 国内高质量素材网站,涵盖设计、新媒体、视频…

有效提升智能会议系统语音识别准确性案例分享

语音识别技术是在智能会议系统中至关重要,准确的智能会议语音识别能力,意味着会议参与者可以通过语音命令来控制会议设备,如开启投影仪、调整音量、切换幻灯片或者记录会议纪要,节省时间并提高会议效率。多语言支持的语音识别技术…

【C++LeetCode】【热题100】字母异位词分组【中等】-不同效率的题解【3】

题目&#xff1a; 暴力方法&#xff1a; class Solution { public:vector<vector<string>> groupAnagrams(vector<string>& strs) {std::unordered_set<std::string> uniqueWord;//单词字符唯一化集合vector<vector<std::string>>…