【原创】matlab每日练习:用matlab作圆(转载请注明出处:http://blog.sina.com.cn/hapcat)
1.
思路:圆的参数方程
x-a=rcos(w)
y-b=rsin(w)
估计一个圆上的点的个数,圆的周长为2*pi*r,即每个扫描的小角度增量为(2*pi)/2*pi*r=1/r(单位为弧度)。
角度如果画一个整圆,则w=0
代码如下
r=100;%半径
O=[100
Bkground=zeros(2*r,2*r);%画布
dat=1/r;
for
%画图,加一是因为matlab的%数组就从1开始的.如a(1),没有a(0)
Bkground(int32(r*cos(i*dat))+O(1)+1,int32(r*sin(i*dat))+O(2)+1)=1;
end
imshow(Bkground);
结果如下图
2.
思路:画一个圆,圆周上的像素个数为int32(2*pi*r). 2个单元.
代码如下
r=100;%半径
C_data=zeros(int32(2*pi*r),2);%
O=[1
dat=1/r;
for
%画图,加一是因为matlab的%数组就从1开始的.如a(1),没有a(0)
C_data(i,1)=int32(r*cos(i*dat))+O(1);
C_data(i,2)=int32(r*sin(i*dat))+O(2);
end
%根据C_data作一个圆试试
Bkground=zeros(300,300);%黑色画布
for
%圆心坐标为(120,120).在matlab中数组标为Bkground
Bkground(120+C_data(i,1),120+C_data(i,2))=1;
end
imshow(Bkground);
运行结果如下图,
图1-2