怎么用matlab在一幅图像中画同心圆

我说的是在一幅图像上面叠加一组同心圆!保留原来图像的形状
2024-11-22 14:26:17
推荐回答(3个)
回答1:

matlab不是按照等比例设置坐标轴长度的。
要想等比例,要加一句axis equal,这样看上去就圆了。

clear;clc
r=input('请输入r的值(例如 5):');
n=input('请输入同心圆的数量(例如 30):');
a=input('请输入圆心横坐标(例如 -2):');
b=input('请输入圆心纵坐标(例如 3):');
t=linspace(-pi,pi);
x=sin(t)'*linspace(0,r,n+1)+a;
y=cos(t)'*linspace(0,r,n+1)+b;
plot(x,y)
axis equal

回答2:

总结一下
axis equal让图像更圆
hold on就是保留上次画的图像

如一楼二楼

回答3:

function f=circle(a,b,R)%同心圆;
t=linspace(-pi,pi);
x=sin(t)'*R+a;
y=cos(t)'*R+b;
plot(x,y)
axis equal

主函数:

clear all
close all
clc
circle(1,2,1)%一个圆;
figure
circle(1,2,[1,2])%两个同心圆;
figure
circle(1,2,[1,2,3])%三个同心圆;

一楼的给力呀。哈哈……学习啦!