matlab绘制3D玫瑰花

2022-05-20 03:32:12   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《matlab绘制3D玫瑰花》,欢迎阅读!
绘制,玫瑰花,matlab

山西大同大学matlab课程结课作业

首先,新建m文件,复制以下代码 function y=hb(x) [m n]=size(x); for i=1:m for j=1:n

if rem(x(i,j),2*pi)>=0&&rem(x(i,j),2*pi)<0.5*pi y(i,j)=sin(2*x(i,j)-0.5*pi)+1

elseif rem(x(i,j),2*pi)>=0.5*pi&&rem(x(i,j),2*pi)<1.5*pi y(i,j)=2

elseif rem(x(i,j),2*pi)>=1.5*pi&&rem(x(i,j),2*pi)<2*pi y(i,j)=-cos(2*x(i,j))+1 end end end end

保存后,将下列代码复制到command窗口中,按回车运行即可。 t=0:0.01*pi:2*pi

页脚内容1


山西大同大学matlab课程结课作业

for i=1:5

r(i,:)=i-0.9:0.1:i+0.1; end %绘制花瓣 for i=1:5 a=r(i,:); b=t;

[a,b]=meshgrid(a,b)

z=(log(a)+5).*hb(5*b+pi*i).*abs(sin(pi*a))[x,y,z]=pol2cart(b,a,z) surf(x,y,z,(40+i)*ones(size(z))) hold on end %绘制花托

[xx,yy]=meshgrid(-5:0.1:5); h=2*cos((xx.^2+yy.^2).^0.5)-0.64; surf(xx,yy,h,27*ones(size(h)));

页脚内容2


山西大同大学matlab课程结课作业

hold on %绘制补色 xxx=[-0.1 0.1]; yyy=xxx;

[xxx,yyy]=meshgrid(xxx,yyy); c=zeros(size(xxx)) for i=1:50

surf(xxx,yyy,c,i*ones(size(c))) hold on end axis equal

set(gca,'xtick',[],'ytick',[],'ztick',[])

页脚内容3


本文来源:https://www.dywdw.cn/4008126274c66137ee06eff9aef8941ea66e4b38.html

相关推荐
推荐阅读