generate coordinates circle,square,rectangle

Hello,
I have to generate points(matrix),so that i have view the points as a circle(square,rectagle), when i display points(matrix) through plot.
Could someone help me?
Thanks.

 採用された回答

Image Analyst
Image Analyst 2014 年 3 月 2 日

0 投票

For circle and ellipse, see the FAQ for code examples: http://matlab.wikia.com/wiki/FAQ?title=FAQ&cb=7341#How_do_I_create_a_circle.3F
For a square or rectangle, if you have x1, x2, y1, and y2, you can make it with plot by making coordinates of the box and calling plot
xBox = [x1 x2 x2 x1 x1];
yBox = [y1 y1 y2 y2 y1];
plot(xBox, yBox, 'r-', 'LineWidth', 2);
Of course that can ge generalized to any polygon, just list all the vertices.

その他の回答 (1 件)

Giorgos Papakonstantinou
Giorgos Papakonstantinou 2014 年 3 月 2 日

1 投票

% circle
r=1; % radius
C=[1 1];
theta=0:2*pi/360:2*pi; % the angle
m=r*[cos(theta')+C(1) sin(theta')+C(2)]; % the points you asked
plot(m(:,1), m(:,2))
axis equal
hold all
% Rectangle
a=1; % side a
b=.5; % side b
s=[0.5 0.75]; % bottom left start point
A=[s(1) s(1)+a s(1)+a s(1) s(1);s(2) s(2) s(2)+b s(2)+b s(2)];
plot(A(1,:), A(2,:))
axis equal

1 件のコメント

Will Reeves
Will Reeves 2018 年 4 月 6 日
編集済み: Will Reeves 2018 年 4 月 6 日
nice... although the "r*" shouldn't apply to the centre coordinate offset:
m=r*[cos(theta') sin(theta')] + C; % the points you asked
instead of this:
m=r*[cos(theta')+C(1) sin(theta')+C(2)]; % the points you asked
Or am I being silly?!

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

カテゴリ

ヘルプ センター および File ExchangeSurfaces, Volumes, and Polygons についてさらに検索

質問済み:

2014 年 2 月 28 日

編集済み:

2018 年 4 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by