如何用matlab画出心形线

如何用matlab画出心形线,第1张

1、心贺梁形线的数学定义。

2、编制的绘制心形线的matlab程序代码,如下图所示:

3、当a=10 时,绘制的心形线,如下图所示:

4、当a逐渐增大时的心形线,如下图所示(采用子图模式):

5、绘制三维的心形图形,下面是编制的代码:

6、下面这幅图片是上一步绘制的三维心形图形。如下慎闭图宽拍裂所示:

程序代码:

x=0:0.001:2*pi//x间隔取0.001,范围[0,2pi]

y=3*(1+cos(x))//写出公式

polar(x,y,'r')//画出图像,r表示曲线颜色

代码解析:定义x从0到2π间隔为0.001,然后描述心形线函数,第三行绘图,其中引号内的r代表心形线用红色标记。

扩展资料

心形线,是一个圆上的固定一点在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹,因其形状像心形而尺吵喊得名。

心脏线亦为蚶线的一种。在曼德博集合正中间的图形碰首便是一个心脏线。心脏线的英文名称“Cardioid”是 de Castillon 在1741年的《Philosophical Transactions of the Royal Society》发表的;意为“像心脏陵野的”。

参考资料来源:百度百科-心形线

g=imread('C:\Users\zhourui\Desktop\1.jpg') %读入图像的具体位置, k=imnoise(g,'gaussian',0.1)%图像去噪(高斯噪声) v=rgb2gray(k) %图像由rgb转为gray subplot(3,2,1) %当前图像显示在figure中的第一个(总共可以同时显示6个) imshow(g)%将原始图像显示在第一个(第一行第一个) title('orginal image')%figure中第一个图像的title subplot(3,2,2)%显示figure中的第二个(第一行第二个) imshow(v) %将去噪后的图像显示在figure中的第二个 title('noise image')%figure中第二个图的title [h,w]=size(v) %计算去噪图像的大小(h行数,wl为列数) n=9 %设定变量n=9 f=double(v)%将去噪图像v转为double型变量f a=ones(n,n)%变量a为一个n*n的矩阵,元素均为1 y=f %将f的值赋给y %每个元素的值改为9*9窗口的灰度均值 %即均值滤波,窗口大小为9*9 %均值滤波结果存储在y中 for i=1:h-n+1 for j=1:w-n+1 a=f(i:i+(n-1),j:j+(n-1)) s=sum(sum(a)) y(i+(n-1)/2,j+(n-1)/2)=s/(n*n) end end subplot(3,2,3)%显示figure中的第三个图像(第一行亮兄告第三个) imshow(uint8(y)) %显示均值滤波的结果 title('noise reduction by average filter')%均值滤波的title x=f%f赋值给x %每个元素的值改为9*9窗口的灰度大小的中间值 %即中值滤波,窗敬明口大小为9*9 %中值滤波结果存储在x中 for i=1:h-n+1 for j=1:w-n+1 c=f(i:i+(n-1),j:j+(n-1))e=c(1,:) for u=2:n e=[e,c(u,:)] end mm=median(e) x (i+(n-1)/2,j+(n-1)/2)=mm end end subplot(3,2,4)%显示figure中的第四个图像(尘镇第二行第一个) imshow(uint8(x))%显示中值滤波的结果 title('noise reduction by median filter')%中值滤波的title


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8268806.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存