Plotting an Ellipse

15 ビュー (過去 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 ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by