已知圆心和半径如何画圆
如标题所示,已知一些圆的圆心和半径,如何用matlab将这些圆画出来? 搜索论坛,或者找本基础书看看吧:handshake 原帖由 raspberry2004 于 2008-4-18 00:08 发表 http://www.chinavib.com/forum/images/common/back.gif如标题所示,已知一些圆的圆心和半径,如何用matlab将这些圆画出来? 版面讨论过,是 happy 教授解决的 可是我是要同时画900个圆,如果用ezplot她的圆心必须是确定的值
[ 本帖最后由 eight 于 2008-4-18 16:38 编辑 ] 要是有规律的园,用900个循环画不行么? 请高手详细说明,小妹很着急,如果这个问题解决了,我就可以进一步分析仿真结果了。
:'( 已知的圆心和半径的数值存放在一个900*3的数组里 楼主以“画圆”为关键字,搜索matlab版面,可以搜到下面的这个帖子,注意看happy教授的解答
http://forum.vibunion.com/forum/viewthread.php?tid=12278&highlight=%BB%AD%D4%B2 happy教授的方法是圆心在原点,可我的不是。我认为并不适用于我的情况。不过还是谢谢你
回复 9楼 的帖子
不是吧,自己只看别人的效果,不研究下代码的意思么?其实就是一个极坐标表示,你移一下圆心坐标不是很简单么?
sita=0:pi/20:2*pi;
plot(r*cos(sita)+x0,r*sin(sita)+y0); %半径为r的圆,x0,y0为原点坐标
axis square; 别人写的一个绘制圆形的函数,直接调用就可以了。function H=circle(center,radius,NOP,style)
%---------------------------------------------------------------------------------------------
% H=CIRCLE(CENTER,RADIUS,NOP,STYLE)
% This routine draws a circle with center defined as
% a vector CENTER, radius as a scaler RADIS. NOP is
% the number of points on the circle. As to STYLE,
% use it the same way as you use the rountine PLOT.
% Since the handle of the object is returned, you
% use routine SET to get the best result.
%
% Usage Examples,
%
% circle(,3,1000,':');
% circle(,2,1000,'--');
%
% Zhenhai Wang <zhenhai@ieee.org>
% Version 1.00
% December, 2002
%---------------------------------------------------------------------------------------------
if (nargin <3),
error('Please see help for INPUT DATA.');
elseif (nargin==3)
style='b-';
end;
THETA=linspace(0,2*pi,NOP);
RHO=ones(1,NOP)*radius;
= pol2cart(THETA,RHO);
X=X+center(1);
Y=Y+center(2);
H=plot(X,Y,style);
axis square; 各位高手我已经研究出来了,不是不知道加偏移量的问题,而是我用happy教授的方法画出来的是一个多边形,后来发现是900个园重叠了,改用for语句就解决了,不过圆不是那么圆。这也就可以了,谢谢各位!
回复 12楼 的帖子
圆不圆的问题,试试后面加这个axis square;
页:
[1]