Matlab 版 (精华区)
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: 关于圆,椭圆画法matlab源代码
发信站: BBS 哈工大紫丁香站 (Tue May 25 15:52:12 2004)
转于饮水思源站
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.
% 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([1,3],3,1000,':');
% circle([2,4],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;
[X,Y] = pol2cart(THETA,RHO);
[X,Y] = pol2cart(THETA,RHO);
X=X+center(1);
Y=Y+center(2);
H=plot(X,Y,style);
axis square;
function hEllipse = ellipsedraw(a,b,x0,y0,phi,lineStyle)
%ELLIPSEDRAW can draw an arbitrary ellipse with given parameters.
% The properties of that ellipse plot can be customized
% by setting the ellipse handle.
%
% hEllipse = ellipsedraw(a,b,x0,y0,phi,lineStyle)
%
% Input parameters:
% a Value of the major axis
% b Value of the minor axis
% x0 Abscissa of the center point of the ellipse
% y0 Ordinate of the center point of the ellipse
% phi Angle between x-axis and the major axis
% lineStyle Definition of the plotted line style
%
% Output:
% hEllipse Handle of the ellipse
% hEllipse Handle of the ellipse
%
% Simple usage:
% ellipsedraw(5,3);
% ellipsedraw(5,3,'g--');
% ellipsedraw(5,3,pi/4);
%
% Complete usage:
% h = ellipsedraw(5,3,1,-2,pi/4,'r-.');
% set(h,'LineWidth',2);
% Designed by: Lei Wang, <WangLeiBox@hotmail.com>, 25-Mar-2003.
% Last Revision: 01-Apr-2003.
% Dept. Mechanical & Aerospace Engineering, NC State University.
% Copyright (c)2003, Lei Wang <WangLeiBox@hotmail.com>
%$Revision: 1.0 $ $ 4/1/2003 5:42:24 PM $
if (nargin < 2)|(nargin > 6),
error('Please see help for INPUT DATA.');
elseif nargin == 2
x0 = 0; y0 = 0;
phi = 0; lineStyle = 'b-';
phi = 0; lineStyle = 'b-';
elseif nargin == 3
if ischar(x0) == 1
lineStyle = x0;
x0 = 0; y0 = 0;
phi = 0;
else
phi = x0;
x0 = 0; y0 = 0;
lineStyle = 'b-';
end
elseif nargin == 4
phi = 0; lineStyle = 'b-';
elseif nargin == 5
lineStyle = 'b-';
end
theta = [-0.03:0.01:2*pi];
theta = [-0.03:0.01:2*pi];
% Parametric equation of the ellipse
%----------------------------------------
x = a*cos(theta);
y = b*sin(theta);
% Coordinate transform
%----------------------------------------
X = cos(phi)*x - sin(phi)*y;
Y = sin(phi)*x + cos(phi)*y;
X = X + x0;
Y = Y + y0;
% Plot the ellipse
%----------------------------------------
hEllipse = plot(X,Y,lineStyle);
axis equal;
更多特殊图形的绘制请参阅
http://www.mathworks.com/matlabcentral/fileexchange/loadFileList.do?orderBy=d
ownloads&position=10
--
╔═══════════════════╗
║★★★★★友谊第一 比赛第二★★★★★║
╚═══════════════════╝
※ 修改:·zjliu 于 May 25 19:34:32 修改本文·[FROM: 202.118.229.*]
※ 来源:·哈工大紫丁香 http://bbs.hit.edu.cn·[FROM: 202.118.229.*]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.388毫秒