根据”圆心角“求斜椭圆坐标

简介: 根据”圆心角“求斜椭圆坐标

根据“圆心角”弧度(函数会将圆心角转成离心角),获取斜椭圆上的点坐标。ptCenter,椭圆中心;a椭圆长轴长度;b,椭圆短轴长度;radian,点于椭圆长轴夹角的弧度;dChangZhouAngle,长轴弧度


CDoublePoint2d GetPointOnEllipse(const CDoublePoint2d& ptCenter, double a, double b, double radian, double dChangZhouAngle)
{
const double dLiXin = atan2(a*sin(radian), b*cos(radian));//离心角
double x = a*cos(dLiXin)*cos(dChangZhouAngle) - b*sin(dLiXin)*sin(dChangZhouAngle) + ptCenter.x;
double y = a*cos(dLiXin)*sin(dChangZhouAngle) + b*sin(dLiXin)*cos(dChangZhouAngle) + ptCenter.y;
return CDoublePoint2d(x, y);
}

问题:


一,为什么不用atan?


答:atan的范围是[-π/2,π/2],atan2的范围是(-π,π]。前者只能表示两个象限,后者可以表示4个。


二,为什么不atan2(a*tan(radian),b)?


答:这样写,和用atan的效果一样。


相关文章
|
分布式计算 MaxCompute 计算机视觉
ODPS问题之odps.sql.mapper.split.size属性有什么作用,以及如何根据场景调整它
ODPS问题之odps.sql.mapper.split.size属性有什么作用,以及如何根据场景调整它
1064 1
|
数据采集 Web App开发 测试技术
使用Selenium调试Edge浏览器的常见问题与解决方案
在互联网数据采集领域,Selenium常用于自动化网页爬取。针对使用Edge浏览器时遇到的启动远程调试失败、访问受限及代理IP设置等问题,本文提供了解决方案。通过特定命令启动Edge的远程调试模式,并利用Python脚本配合Selenium库,可实现代理IP、User-Agent的设定及Cookie管理等高级功能,有效提升爬虫稳定性和隐蔽性。遵循步骤配置后,即可顺畅执行自动化测试任务。
2789 1
使用Selenium调试Edge浏览器的常见问题与解决方案
|
XML 存储 数据库
Python中的xmltodict库
xmltodict是Python中用于处理XML数据的强大库,可将XML数据与Python字典相互转换,适用于Web服务、配置文件读取及数据转换等场景。通过`parse`和`unparse`函数,轻松实现XML与字典间的转换,支持复杂结构和属性处理,并能有效管理错误。此外,还提供了实战案例,展示如何从XML配置文件中读取数据库连接信息并使用。
Python中的xmltodict库
|
人工智能 前端开发 开发工具
Agent调研--19类Agent框架对比(上)
Agent调研--19类Agent框架对比(上)
11964 1
|
Java 开发工具 Maven
JAVA-下载并运行Spring源码,超细节,包成功!
JAVA-下载并运行Spring源码,超细节,包成功!
358 0
|
XML Java 数据格式
Spring中JavaBean的生命周期及模式
Spring中JavaBean的生命周期及模式
141 0
|
API 图形学
【Unity细节】RigidBody中Dynamic和Kinematic的区别
【Unity细节】RigidBody中Dynamic和Kinematic的区别
298 0
|
监控 数据可视化 大数据
大数据-平台-解决方案-基础架构一览
1、talkingdata  (数据平台) 2、明略数据(解决方案) 3、百融金服(金融大数据) 4、国双科技(营销大数据) 5、国信优易(媒体大数据) 6、百分点(营销大数据) 7、华院集团(解决方案) 8、个推(数据平台) 9、奥维云网(数据平台) 10、数梦工场(解决方案) 11、极光推送(营...
3377 0
|
6天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。