Plotting an Ellipse

24 ビュー (過去 30 日間)
Oliver
Oliver 2012 年 6 月 15 日
コメント済み: Nshine 2020 年 1 月 16 日
I'm trying to draw a 2D ellipse. I know that I can use the rectangle function and set the curvature equal to 1, but I came across this page http://www.mathworks.com/help/toolbox/mupad/plot/PRIMITIV_Ellipse2d.html, and I was wondering how I would implement it. It looks like it could be very useful, but whenever I try it says it cannot recognize the char inputs.
  1 件のコメント
Walter Roberson
Walter Roberson 2012 年 6 月 15 日
Could you show us a sample of how you are invoking that routine?

サインインしてコメントする。

回答 (1 件)

David Legland
David Legland 2012 年 7 月 4 日
編集済み: David Legland 2012 年 7 月 4 日
Hi,
Maybe the best way to draw an ellipse is to use its parametric form:
% compute points corresponding to axis-oriented ellipse
t = linspace(0, 2*pi, 200);
xt = r1 * cos(t) + xc;
yt = r2 * sin(t) + yc;
% aply rotation by angle theta
cot = cos(theta); sit = sin(theta);
x = xt * cot - yt * sit;
y = xt * sit - yt * cot;
% draw the curbe
plot(x, y, '-');
This can be easily converted to a single function.
  1 件のコメント
Nshine
Nshine 2020 年 1 月 16 日
Minor typo in the rotation:
replace
y = xt * sit - yt * cot;
with
y = xt * sit + yt * cot;

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeUnit Conversions についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by