matlab - 在 Matlab 中绘制两个具有相同焦点的椭圆
问题描述
我试图在 Matlab 中用相同的焦点绘制两个不同的椭圆。本质上,我正在绘制脉冲机动之前和之后的椭圆轨道。
第一个(操作前)椭圆将始终与 x 轴对齐,而第二个椭圆(操作后)将与 x 轴上方/下方成一定角度(第二个椭圆将具有不同的主要/次要轴和偏心率)。
为了节省篇幅,绘制一个椭圆的代码与第二个椭圆的代码相同,所以这里只展示绘制一个椭圆的代码。
问题是它是从网格中心绘制的,而不是焦点。
Re = 6378.136; %km
e = .65;
x1 = -4.4*Re; %-a
x2 = 4.4*Re; % a
y1 = 0;
y2 = 0;
a = 1/2*sqrt((x2-x1)^2+(y2-y1)^2);
b = a*sqrt(1-e^2);
t = linspace(0,2*pi);
X = a*cos(t);
Y = b*sin(t);
w = atan2(y2-y1,x2-x1);
x = (x1+x2)/2 + X*cos(w) - Y*sin(w);
y = (y1+y2)/2 + X*sin(w) + Y*cos(w);
plot(x,y,'b')
axis equal
grid on
hold on
我确定这很简单,但我似乎无法弄清楚。
任何帮助深表感谢。谢谢。
编辑:大卫帮助解决了这个问题,谢谢。
解决方案
推荐阅读
- material-ui - 如何用给定的颜色填充 MaterialUI 选项卡?
- python-3.x - 改进 BPTracker
- r - 如何将点数据转换为多边形数据
- c++ - 使用没有construct() 和destroy() 函数的分配器调用STL 容器时是否存在一些潜在问题?
- go - Go 中的自定义字符串类型
- python - 快速计算数据帧中所有案例之间的余弦相似度
- arrays - 在C中查找数组中每个元素的频率
- php - 隐藏不再适用于 symfony 更新
- java - 迭代自定义对象的 Hashset 会引发 ClassCastException
- tor - 带 Tor 的预付费 3G/4G SIM