我有一个函数可以绘制一个椭圆,该椭圆相对于一些主轴(vx)和短轴(vy)刻度顺时针旋转角度a。我想调整它,以便未旋转的椭圆满足等式:
(x / vx)^2 + (y / vy)^2 = s
对于传入的某些值。
function [] = plotellipse(cx, cy, vx, vy, s, a)
t = linspace(0, 2 * pi);
x = cx + vx * cos(t) * cos(-a) - vy * sin(t) * sin(-a);
y = cy + vy * sin(t) * cos(-a) + vx * cos(t) * sin(-a);
plot(x,y,'y-');
答案 0 :(得分:1)
正确实现的椭圆的常用公式是
要将所需的等式缩小为相同的形式,请按s
:
现在x
和y
成为
vxs = vx / sqrt(s)
vys = vy / sqrt(s)
x = cx + vxs * cos(t) * cos(-a) - vys * sin(t) * sin(-a);
y = cy + vys * sin(t) * cos(-a) + vxs * cos(t) * sin(-a);