情人节双十一表白专用
各部分的代码,我已经在后面进行注释,不知道的可以加群咨询。是加群。谢谢!
群号:560566432
[X,Y,Z]=meshgrid(linspace(-3,3,101));%构造体积方程和坐标轴,画出图形;
F=-X.^2.*Z.^3-(9/80).*Y.^2.*Z.^3+(X.^2+(9/4).*Y.^2+Z.^2-1).^3;
drawFigure=figure;
sz=get(drawFigure,'Position');
set(drawFigure,'Position',[sz(1)-0.15*sz(3)sz(2)1.3*sz(3)sz(4)]);
set(drawFigure,'color','w','menu','none')
hAxes=axes('Parent',drawFigure,'NextPlot','add',...
'DataAspectRatio',[111],...
'XLim',[30120],'YLim',[3565],'ZLim',[3075]);
view([-3930]);
axisoff
%制作出动态的隐形效果;
hiddenon
%画出网格,制作网格动态效果;%3D心型图方程。
%快渲染心得背面:
p=patch(isosurface(F,-0.001));
set(p,'FaceColor','w','EdgeColor','w');
%构造Y-Z平面,,描完函数在该平面的点:
foriX=[[***********]6467]
plane=reshape(F(:,iX,:),101,101);
cData=contourc(plane,[00]);
xData=iX.*ones(1,cData(2,1));
plot3(hAxes,xData,cData(2,2:end),cData(1,2:end),'r');
pause(.1),drawnow
end
%构造X-Z平面,描完函数在该平面的点:
foriY=[[1**********]861]
plane=reshape(F(iY,:,:),101,101);
cData=contourc(plane,[00]);
yData=iY.*ones(1,cData(2,1));
plot3(hAxes,cData(2,2:end),yData,cData(1,2:end),'r');
pause(.1),drawnow
end
%构造X-Y平面,描完函数在该平面的点:
foriZ=[[***********][***********]]
plane=F(:,:,iZ);
cData=contourc(plane,[00]);
startIndex=1;
ifsize(cData,2)>(cData(2,1)+1)
startIndex=cData(2,1)+2;
zData=iZ.*ones(1,cData(2,1));
plot3(hAxes,cData(1,2:(startIndex-1)),...
cData(2,2:(startIndex-1)),zData,'r');
end
zData=iZ.*ones(1,cData(2,startIndex));
plot3(hAxes,cData(1,(startIndex+1):end),...
cData(2,(startIndex+1):end),zData,'r');
pause(.1),drawnow
end
%给三维心着色
set(p,'FaceColor','r','EdgeColor','w');
pause(.2);
set(p,'FaceColor','w','EdgeColor','r');
%函数已经画完,接下来为文字部分;
pause(.2)
%设置字体大小,粗细,位置等,以下是打出I(心型图)Wendy;
text(7,50,70,'I','fontWeight','bold','FontAngle','italic','FontName','TrebuchetMS','fontsize',60,'Color','r')pause(.5)
text(80,50,43,'Math','fontWeight','bold','FontAngle','italic','FontName','Trebuchet
MS','fontsize',60,'Color','r')
pause(.2)
%line([2080],[5050],[52.552.5],'color','r')
%line([5050],[2080],[52.552.5],'color','r')
%line([5050],[5050],[3080],'color','r')%三维坐标,可要可无。
%制作者签名;
text(40,60,30,'MadeByXX
text(35,45,30,'','fontsize',8)
%制作心的动态效果
fori=1:3000
pause(.1);
set(p,'FaceColor','r','EdgeColor','r');
pause(.2)
end%闪烁3000下。set(p,'FaceColor','r','EdgeColor','w');x/x/20xx','fontsize',8)%可编辑其他的文字,在''之内.