圆和椭圆外投影

news2024/11/16 3:37:50

1 圆外一点在缩放到圆上

请添加图片描述

圆方程:
x 2 + y 2 = 2 2 x^2+y^2 = 2^2 x2+y2=22

直线方程:
y = k x y = kx y=kx

圆外一点:
A ( 3 , 3 ) A(3,3) A(3,3)

求点B.

方法1-解方程

圆外一点 A ( 3 , 3 ) A(3,3) A(3,3),那么:直线 k = 1 k=1 k=1,直线方程: y = x y=x y=x

方程联立:
x 2 + x 2 = 4 x^2 + x^2 = 4 \\ x2+x2=4

x = 2 y = 2 x = \sqrt{2} \\ y = \sqrt{2} \\ x=2 y=2

方法2-向量
/**
 * 将圆外一点沿着圆心缩放到圆上,XOY平面
 * @param {number} circleRadius 圆半径
 * @param {Cesium.Cartesian3} point 园外点坐标
 */
function scaleToCircle(circleRadius=1, point=new Cesium.Cartesian3()) {
  const positionX = point.x;
  const positionY = point.y;

  // 将圆外一点带入圆方程
  const x2 = positionX * positionX;
  const y2 = positionY * positionY;

  // 圆外一点指向圆心方向向量的模长
  const squaredNorm = x2 + y2;
  const norm = Math.sqrt(squaredNorm);

  const ratio = circleRadius/norm;
  return Cesium.Cartesian3.multiplyByScalar(
    point,
    ratio,
    new Cesium.Cartesian3()
  );
}

const pointA = new Cesium.Cartesian3(3, 3, 0)
const pointB = scaleToCircle(2, cartesian1)
console.error(pointB);

2 椭圆外一点在椭圆上的投影

请添加图片描述

椭圆方程:
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1

直线方程:
y = k x y = kx y=kx

圆外一点:
A ( 3 , 3 ) A(3,3) A(3,3)

求点B.

 /**
   *
   * @param {*} a
   * @param {*} b
   * @param {*} point
   * @returns
   */
  scaleToEllipsoid(a, b, point = new Cesium.Cartesian3()) {
    const positionX = point.x;
    const positionY = point.y;

    const x2 = positionX * positionX * (1 / (a * a));
    const y2 = positionY * positionY * (1 / (b * b));

    const squaredNorm = x2 + y2;
    const ratio = Math.sqrt(1/squaredNorm);

    return Cesium.Cartesian3.multiplyByScalar(
      point,
      ratio,
      new Cesium.Cartesian3()
    );
  }

证明:
椭圆外一点:
A ( c , d ) = n ⃗ A(c,d) = \vec{n} A(c,d)=n

椭圆方程:
x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2}+\frac{y^2}{b^2} = 1 a2x2+b2y2=1

step1:
将椭圆外一点带入椭圆方程:
c 2 a 2 + d 2 b 2 = S \frac{c^2}{a^2}+\frac{d^2}{b^2} = S a2c2+b2d2=S

step2:
方向向量为:
1 S n ⃗ = ( c c 2 a 2 + d 2 b 2 , d c 2 a 2 + d 2 b 2 , ) \frac{1}{\sqrt{S}} \vec{n} = ( \frac{c}{\sqrt{\frac{c^2}{a^2}+\frac{d^2}{b^2}}}, \frac{d}{\sqrt{\frac{c^2}{a^2}+\frac{d^2}{b^2}}}, ) S 1n =(a2c2+b2d2 c,a2c2+b2d2 d,)

step3:
将方向向量带入椭圆方程:
c c 2 a 2 + d 2 b 2 a 2 + d c 2 a 2 + d 2 b 2 b 2 = ? c 2 a 2 ( c 2 a 2 + d 2 b 2 ) + d 2 b 2 ( d 2 a 2 + d 2 b 2 ) = ? c 2 c 2 + a 2 d 2 b 2 + d 2 b 2 a 2 a 2 d 2 = ? b 2 c 2 b 2 c 2 + a 2 d 2 + a 2 d 2 b 2 c 2 + a 2 d 2 = 1 \begin{aligned} \frac{\frac{c}{\sqrt{\frac{c^2}{a^2}+\frac{d^2}{b^2}}}}{a^2} + \frac{\frac{d}{\sqrt{\frac{c^2}{a^2}+\frac{d^2}{b^2}}}}{b^2} &= ? \\ \frac{c^2}{a^2(\frac{c^2}{a^2}+\frac{d^2}{b^2})} + \frac{d^2}{b^2(\frac{d^2}{a^2}+\frac{d^2}{b^2})} &= ? \\ \frac{c^2}{c^2 + \frac{a^2d^2}{b^2}} + \frac{d^2}{\frac{b^2a^2}{a^2}d^2} &= ? \\ \frac{b^2c^2}{b^2c^2+a^2d^2} + \frac{a^2d^2}{b^2c^2+a^2d^2} &= 1 \end{aligned} a2a2c2+b2d2 c+b2a2c2+b2d2 da2(a2c2+b2d2)c2+b2(a2d2+b2d2)d2c2+b2a2d2c2+a2b2a2d2d2b2c2+a2d2b2c2+b2c2+a2d2a2d2=?=?=?=1

说明step2得到的方向向量是满足椭圆方程的。

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

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

相关文章

点云 3D 分割 - SqueezeSeg(ICRA 2018)

点云 3D 分割 - SqueezeSeg(ICRA 2018)摘要1. 引言2. 相关工作A. 三维激光雷达点云的语义分割B. 用于3D点云的CNNC. 图像的语义分割D. 通过模拟收集数据3. 方法描述A. 点云变换B. 网络结构C. 条件随机场D. 数据收集4. 实验A. 评估指标B. 实验设置C. 实验…

2022电商行业重磅年度报告:八大年度关键词盘点

2022年终于过去,当网易云音乐推出“年度报告”霸屏朋友圈,它在试图唤起那些可能被遗忘的情绪和小心思。 这一年,有人悲观,有人积极,有人凭实力搭上了顺风车,也有人放弃了抵抗。这一年,作为电商人…

Mybatis学习笔记 | 动力节点老杜

目录 一、MyBatis概述 历史 MyBatis特点 ORM概述 二、Mybatis入门 1、SqlSessionFactory和SqlSession 2、核心配置文件的加载 3、mybatis事务管理机制 4、第一个mybatis程序 5、mybatis继承日志 三、mybatis增删改查 1、增加 通过Map传值 通过实体类传值 2、删除…

【uniapp】如何实现拖动文件直接上传

做uniapp项目发布H5有个后台管理,用户说上传文件的体验需要改进,那个弹出选择文件对话框然后去填文件路径选择文件上传,感觉操作太麻烦,于是就有了这么一个需求,需要实现拖动文件直接上传的,这样效率和体验…

九、动态组件与插槽

一、动态组件 1.1、什么是动态组件 动态组件指的是动态切换组件的显示与隐藏。 1.2、如何实现动态组件渲染 vue提供了一个内置的<component>组件&#xff0c;专门用来实现动态组件的渲染。示例代码如下&#xff1a; data() {// 1. 当前要渲染的组件名称return {comN…

学习笔记:混沌工程

个人理解&#xff1a; 混沌工程&#xff0c;chaos engineering&#xff0c;找出系统中的脆弱环节的方法学 混沌工程是软件测试和质量保证的一种方法&#xff0c;在黑客入侵之前或系统故障之前使用它来识别漏洞&#xff0c;由于混沌工程测试而做出的改变增加了人们对系统的信心。…

SpringBoot @SessionScope注解和Session的用法解释

参考资料 JSESSIONID是什么SessionScope 解决了不同session下如何生成不同服务实例 目录一. 前期准备二. 被SessionScope作用的类三. 使用被SessionScope作用类的Service四. 效果4.1 用Edge浏览器进入页面4.2 然后用Edge浏览器进入页面4.3 若将CacheHolder类上的SessionScope注…

nginx部署next项目访问日志去重小技巧,next项目资源不计入日志,网站日志统计去除资源请求

next项目访问日志去重小技巧需求提出具体解决方案配置代码需求提出 之前在跟SEO做网站日志分析的时候受到了一部分资源请求数据的影响&#xff0c;统计出来的ip访问次数远远大于实际值&#xff0c;从日志中或者网站控制台看到每个页面都会发送十几个请求&#xff0c;而这些请求…

Qt中使用QWebEngine加载百度离线地图,在特定地点加载个圣诞树

一、前言 2022年圣诞节到来啦&#xff0c;很高兴这次我们又能一起度过~ 遇上圣诞节&#xff0c;正好最近研究了QT中加载百度离线地图&#xff0c;用百度地图API加载个圣诞树&#xff08;主要我想要那个圣诞节特制勋章&#xff09;。 二、创意名 在百度离线地图加载个圣诞树。…

演化博弈、复制动态方程与仿真

本文只整理和总结一下我的理解&#xff0c;文末列出了可供参考的更详细完整的资料。建议先看参考资料[1]&#xff08;博弈论公开课&#xff09;的博弈论课程&#xff0c;可以直接从第11讲开始看。   参考链接[2]是关于演化博弈非常经典的一本书。   参考链接[5]涵盖内容比较…

CSDN文章质量检测系统

想知道你的文章在CSDN中质量如何吗&#xff1f; 你想知道你的CSDN文章到底写得怎么样吗&#xff1f; 你想要获得一个你的系统的CSDN文章评分吗&#xff1f; CSDN质量分数帮你解决这个问题&#xff0c;网址如下&#xff1a; https://www.csdn.net/qc 界面在如下&#xff0c;如果…

XGBoost模型的python实现

文章目录函数介绍实例二分类问题多分类问题作者&#xff1a;李雪茸函数介绍 实现 XGBoost 分类算法使用的是 xgboost 库的 XGBClassifier&#xff0c;具体参数如下&#xff1a; 1、max_depth&#xff1a;给定树的深度&#xff0c;默认为3 2、learning_rate&#xff1a;每一步…

SpringBoot整合TKMyBatis实现增删改查

文章目录什么是TKMybatis&#xff1f;SpringBoot整合TKMybatis实体类注解TKMapper接口如何使用基本增删改操作批量查询和删除批量添加自定义查询条件ExampleExample 条件设置Example 使用什么是TKMybatis&#xff1f; TKMybatis 是基于Mybatis 框架开发的一个工具&#xff0c;…

[4]MQTT协议基础--下

1.QoS服务质量等级 MQTT服务质量(Quality of Service 缩写 QoS)正是用于告知物联网系统&#xff0c;哪些信息是重要信息需要准确无误的传输&#xff0c;而哪些信息不那么重要&#xff0c;即使丢失也没有问题。 MQTT协议有三种服务质量级别&#xff1a; QoS 0 – 最多发一次…

公司jmeter分享

一、数据库压测组件功能说明 1.JDBC Connection Configuration:jdbc连接配置(一个测试计划可以有多个 JDBC Connection) 2.Variable Name for created pool: 创建池的变量名 连接绑定的变量名,JMeter可以使用多个连接,每个连接绑定到不同的变量;通过引用不同的绑定变量…

安全防范语音通知实现方案

语音通知作为一种强提醒的信息通知方式&#xff0c;非常适合使用在安全防范语音通知场景中&#xff0c;可以有效避免用户错过重要信息。那安全防范语音通知怎么实现&#xff1f;这里互亿无线小编为大家做个详细介绍&#xff1a; 一、如何发送安全防范语音通知信息 互亿无线语…

本地事务、分布式事务、CAP 定理与 BASE 理论、分布式事务几种方案、Linux 安装 Seata、Seata的使用-56

一&#xff1a;本地事务 1.1 事务的基本性质 1.数据库事务的几个特性&#xff1a;原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily)&#xff0c;简称就是 ACID&#xff1b; 原子性&#xff1a;一系列的操作整体不可拆分&#xf…

LVGL学习笔记8 - 字体

目录 1. 修改默认字体 2. 修改字体 3. 特殊字体 3.1 SUBPX字体 3.2 28像素压缩字体 3.3 16像素希伯来语/阿拉伯语/Perisan字母 3.4 16像素中文字体 3.5 8像素Ascii字体 3.6 16像素Ascii字体 3.7 内置图标 4. 超大字体 5. 编码方式 6. 添加字体 6.1 在线字体转换器 …

【微服务笔记01】微服务组件之Eureka注册中心的介绍及其基础环境的搭建

这篇文章&#xff0c;主要介绍微服务中的注册中心Eureka及其基础环境的搭建【源代码地址】。 目录 一、Eureka注册中心 1.1、什么是注册中心 1.2、注册中心原理 二、搭建Eureka注册中心环境 2.1、创建父工程&#xff0c;引入微服务依赖 2.2、创建Eureka服务端工程 &…

全球公开的DEM数据产品

1 简介 全球公开版地形数据包括&#xff1a;GTOPO30-DEM、ASTER-GDEM、SRTM90、ALOS-AW3D30等&#xff0c;其他的诸如World DEM及ALOS-AW3D (5m分辨率&#xff09;等全球地形数据不能免费获得。 SRTM&#xff1a;由NASA 及国家地理空间情报局NGA采用2000年2月发射的“奋进号”…