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

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

根据“圆心角”弧度(函数会将圆心角转成离心角),获取斜椭圆上的点坐标。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的效果一样。


相关文章
|
6月前
两个坐标间画线
两个坐标间画线
31 3
|
算法 前端开发
圆和矩形是否有重叠
圆和矩形是否有重叠
83 0
|
6月前
|
API C++ 计算机视觉
【opencv3】鼠标框选矩形并显示当前像素点坐标和矩形中心点坐标C++
【opencv3】鼠标框选矩形并显示当前像素点坐标和矩形中心点坐标C++
|
4月前
|
前端开发 JavaScript
canvas系列教程01——直线、三角形、多边形、矩形、调色板
canvas系列教程01——直线、三角形、多边形、矩形、调色板
97 0
|
6月前
|
Python
绘制椭圆
【5月更文挑战第9天】绘制椭圆。
29 3
|
6月前
|
Python
绘制圆
【5月更文挑战第9天】绘制圆。
44 2
|
计算机视觉
OpenCV-基本图形绘制(圆、矩形、椭圆)
OpenCV-基本图形绘制(圆、矩形、椭圆)
|
机器学习/深度学习 存储 人工智能
391. 完美矩形
391. 完美矩形
69 0
|
移动开发 C++
C/C++编程题之坐标移动
开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。
C#编程-133:绘制椭圆、弧、扇形
C#编程-133:绘制椭圆、弧、扇形
201 0
C#编程-133:绘制椭圆、弧、扇形