TA的每日心情 | 开心 2019-11-20 15:05 |
|---|
签到天数: 2 天 [LV.1]初来乍到
|
有两种方法,以下是用来实现该功能的 MATLAB 函数:' i9 z' x/ y5 H" ]" l% s
9 Y# Q7 z8 R6 O9 h. }* f7 I. P- function h = circle(x,y,r)
- hold on
- th = 0:pi/50:2*pi;
- xunit = r * cos(th) + x;
- yunit = r * sin(th) + y;
- h = plot(xunit, yunit);
- hold off
! I3 T* M) i- `( F. b/ l 3 y& ^' Z x1 N: S9 J$ D
( j5 ]2 i) S" u& d( v* a5 @5 ?. L4 M! ~$ f0 E1 d& d
另一种方法是使用 rectangle 函数:
0 O( [- g3 |* b" E1 M2 w
0 T& y Q) A i' o$ X5 N) j- function h = circle2(x,y,r)
- d = r*2;
- px = x-r;
- py = y-r;
- h = rectangle('Position',[px py d d],'Curvature',[1,1]);
- daspect([1,1,1])
6 F& S) }1 r6 D' G7 Z8 B/ [ 7 H4 I: |) Z+ r4 c5 q; I
1 d2 ?9 s1 [; U
8 H! S: T6 h2 Q( u) P如果你正在使用 MATLAB R2012a 或者之后版本的 Image Processing Toolbox,你可以用 viscircles 函数:
( e9 @' t6 c0 Z/ n9 w( D
2 u3 _/ O) [7 L( U1 c$ \) f- viscircles(centers,radii)
- S( _- r* Z0 ~) e
% Q$ @% } j! A! T) ` _ |
|