MATLAB心形代码

您所在的位置:网站首页 matlab简单程序 MATLAB心形代码

MATLAB心形代码

2023-08-28 18:44| 来源: 网络整理| 查看: 265

心形一

n=200 x=linspace(-3,3,n) y=linspace(-3,3,n) z=linspace(-3,3,n) [X,Y,Z]=ndgrid(x,y,z) F=((-(X.^2).*(Z.^3)-(9/80).*(Y.^2).*(Z.^3))+((X.^2)+(9/4).*(Y.^2)+(Z.^2)-1).^3) isosurface(F,0) lighting phong caxis axis equal colormap('flag') view([60 30])  

心形二:

function LoveFunc LoveFunchdl=@(x,a)(x.^2).^(1/3)+0.9.*((3.3-x.^2).^(1/2)).*sin(a.*pi.*x); hold on grid on axis([-3 3,-2 4]) x=-1.8:0.005:1.8; text(0,3.3,'$f(x)=x^{\frac{2}{3}}+0.9(3.3-x^2)^{\frac{1}{2}}\sin(\alpha\pi x)$',...     'FontSize',13,'HorizontalAlignment','center','Interpreter','latex'); txt2=text(-0.35,2.9,'','FontSize',13,'HorizontalAlignment','left','Interpreter','latex','tag','alphadata'); for a=1:0.01:20     delete(findobj('type','line'))     AlphaString=['$\alpha=',num2str(a),'$'];     Color=([1.0000 0.4902 0.6627]-[0.2118 0.4667 0.9961]).*(a/20)+[0.2118 0.4667 0.9961];     set(txt2,'string',AlphaString)     plot(x,LoveFunchdl(x,a),'color',Color,'LineWidth',1.2);     pause(0.003) end end

 心形三:

[x,y,z]=meshgrid(linspace(-3,3,120)) f=(x.^2+(9*y.^2)./4+z.^2-1).^3-((9*y.^2.*(z.^3))./80-(x.^2)).*(z.^3) p=patch(isosurface(x,y,z,f,0)) set(p,'FaceColor','r') grid on daspect([1 1 1]) view(3) camlight('right') camlight('left') camlight('headlight') lighting phong xlabel ('X') ylabel('Y') zlabel('Z')

 心形四:

sizeTheta=30; sizeFai=40; theta=linspace(0,pi,sizeTheta)'; nudge=0.0001; % used to avoid the operlapping fai=linspace(0+nudge,pi/2-nudge,round(sizeFai/4)); a=9/4; b=9/80; A=1+(a-1)*(sin(theta).^2)*(sin(fai).^2); B=(sin(theta).^2.*cos(theta).^3) * (1+(b-1)*(sin(fai).^2)); rou = zeros(size(A)); for iLoop=1:numel(A)     curA=A(iLoop);     curB=B(iLoop);     % this is the polar coordinates version of the sextic equation found on     % http://mathworld.wolfram.com/HeartSurface.html     polyFactors=[curA^3,-curB,-3*curA^2,0,3*curA,0,-1];     solutions=roots(polyFactors);         realRou=real(solutions(abs(imag(solutions))0);     end

% x,y,z for the quater of whole heart x=rou.*(sin(theta)*cos(fai)); y=rou.*(sin(theta)*sin(fai)); z=rou.*(cos(theta)*ones(size(fai)));

% x,y,z for the whole heart cordX=[x,-fliplr(x),-x,fliplr(x)]; cordY=[y,fliplr(y),-y,-fliplr(y)]; cordZ=[z,fliplr(z),z,fliplr(z)];

heartSudokuFig=figure('units','pixels',...     'position',[200 50 630 630],...     'Numbertitle','off',...     'menubar','none',...     'resize','off',...     'name','heart sudoku',...     'color',[0.99 0.99 0.99]); for i=1:3     for j=1:3       heartSudokuAxes(i,j)=axes('Units','pixels',...       'parent',heartSudokuFig,...       'Position',[(i-1)*210-25,(j-1)*210-25-10,210+50,210+50],...       'Color',[0.99 0.99 0.99],...       'Box','on', ...       'XLim',[-1.28,1.28],'YLim',[-1.28,1.28],'ZLim',[-1.28,1.28],...       'XColor','none','YColor','none','ZColor','none');       hold(heartSudokuAxes(i,j),'on')       camtarget([0, 0, 0]);       view(30,20);            end end markerColor=[248 150 170]./255; lineColor=[248 150 170]./255; lineWidth=0.8; %[1 1]===================================================================== for iLoop=1:3:size(cordX,1)     plot3(heartSudokuAxes(1,1),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'Marker','.','MarkerSize',3.5,'MarkerEdgeColor',markerColor,'LineStyle','none');     plot3(heartSudokuAxes(1,1),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'color',lineColor,'LineStyle','-','LineWidth',lineWidth); end for iLoop=1:4:size(cordX,2)     plot3(heartSudokuAxes(1,1),cordX(:,iLoop),cordY(:,iLoop),cordZ(:,iLoop),...         'color',lineColor,'LineStyle','-','LineWidth',lineWidth); end %[1 2]===================================================================== for iLoop=1:3:size(cordX,1)     plot3(heartSudokuAxes(1,2),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'Marker','.','MarkerSize',3.5,'MarkerEdgeColor',markerColor,'LineStyle','none');     plot3(heartSudokuAxes(1,2),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),'color',...         lineColor,'LineStyle','-','LineWidth',lineWidth); end for iLoop=1:size(cordX,2)     plot3(heartSudokuAxes(1,2),cordX(:,iLoop),cordY(:,iLoop),cordZ(:,iLoop),'color',...         lineColor,'LineStyle','-','LineWidth',lineWidth); end %[1 3]===================================================================== for iLoop=1:size(cordX,1)     plot3(heartSudokuAxes(1,3),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'Marker','.','MarkerSize',3.5,'MarkerEdgeColor',markerColor,'LineStyle','none');     plot3(heartSudokuAxes(1,3),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'color',lineColor,'LineStyle','-','LineWidth',lineWidth); end for iLoop=1:size(cordX,2)     plot3(heartSudokuAxes(1,3),cordX(:,iLoop),cordY(:,iLoop),cordZ(:,iLoop),...         'color',lineColor,'LineStyle','-','LineWidth',lineWidth); end %[2 1]===================================================================== for iLoop=[2 8 15 25]     plot3(heartSudokuAxes(2,1),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'Marker','.','MarkerSize',3.5,'MarkerEdgeColor',markerColor,'LineStyle','none');     plot3(heartSudokuAxes(2,1),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'color',lineColor,'LineStyle','-','LineWidth',lineWidth); end for iLoop=1:2:size(cordX,2)     plot3(heartSudokuAxes(2,1),cordX(:,iLoop),cordY(:,iLoop),cordZ(:,iLoop),...         'color',lineColor,'LineStyle','-','LineWidth',lineWidth); end  %[2 2]===================================================================== for iLoop=1:2:size(cordX,1)     plot3(heartSudokuAxes(2,2),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'Marker','.','MarkerSize',3.5,'MarkerEdgeColor',markerColor,'LineStyle','none');     plot3(heartSudokuAxes(2,2),cordX(iLoop,:),cordY(iLoop,:),cordZ(iLoop,:),...         'color',lineColor,'LineStyle','-','LineWidth',Linewidth)     end

 最后再送给女朋友一个小花花呗

grid on [x,t]=meshgrid((0:24)./24,(0:0.5:575)./575.*20.*pi+4*pi); p=(pi/2)*exp(-t./(8*pi)); change=sin(15*t)/150; u=1-(1-mod(3.6*t,2*pi)./pi).^4./2+change; y=2*(x.^2-x).^2.*sin(p);

r=u.*(x.*sin(p)+y.*cos(p)); h=u.*(x.*cos(p)-y.*sin(p));

map=[0.9176    0.9412    1.0000     0.9094    0.9341    0.9992     0.9011    0.9271    0.9984     0.8929    0.9200    0.9977     0.8847    0.9130    0.9969     0.8764    0.9059    0.9961     0.8682    0.8988    0.9953     0.8600    0.8918    0.9945     0.8518    0.8847    0.9938     0.8435    0.8777    0.9930     0.8353    0.8706    0.9922     0.8337    0.8698    0.9910     0.8322    0.8690    0.9898     0.8306    0.8682    0.9887     0.8290    0.8674    0.9875     0.8275    0.8667    0.9863     0.8259    0.8659    0.9851     0.8243    0.8651    0.9839     0.8227    0.8643    0.9828     0.8212    0.8635    0.9816     0.8196    0.8627    0.9804     0.8078    0.8521    0.9765     0.7961    0.8415    0.9726     0.7843    0.8310    0.9686     0.7726    0.8204    0.9647     0.7608    0.8098    0.9608     0.7490    0.7992    0.9569     0.7373    0.7886    0.9530     0.7255    0.7781    0.9490     0.7138    0.7675    0.9451     0.7020    0.7569    0.9412     0.6836    0.7400    0.9396     0.6651    0.7232    0.9381     0.6467    0.7063    0.9365     0.6282    0.6894    0.9349     0.6098    0.6725    0.9334     0.5914    0.6557    0.9318     0.5729    0.6388    0.9302     0.5545    0.6219    0.9286     0.5360    0.6051    0.9271     0.5176    0.5882    0.9255     0.5027    0.5776    0.9271     0.4878    0.5670    0.9286     0.4729    0.5565    0.9302     0.4580    0.5459    0.9318     0.4431    0.5353    0.9334     0.4282    0.5247    0.9349     0.4133    0.5141    0.9365     0.3984    0.5036    0.9381     0.3835    0.4930    0.9396     0.3686    0.4824    0.9412     0.3623    0.4742    0.9404     0.3561    0.4659    0.9396     0.3498    0.4577    0.9388     0.3435    0.4494    0.9380     0.3372    0.4412    0.9373     0.3310    0.4330    0.9365     0.3247    0.4247    0.9357     0.3184    0.4165    0.9349     0.3122    0.4082    0.9341     0.3059    0.4000    0.9333     0.2981    0.3918    0.9235     0.2902    0.3835    0.9137     0.2824    0.3753    0.9039     0.2745    0.3670    0.8941     0.2667    0.3588    0.8843     0.2589    0.3506    0.8745     0.2510    0.3423    0.8647     0.2432    0.3341    0.8549     0.2353    0.3258    0.8451     0.2275    0.3176    0.8353     0.2169    0.3086    0.8165     0.2063    0.2996    0.7977     0.1957    0.2906    0.7788     0.1851    0.2816    0.7600     0.1746    0.2726    0.7412     0.1640    0.2635    0.7224     0.1534    0.2545    0.7036     0.1428    0.2455    0.6847     0.1322    0.2365    0.6659     0.1216    0.2275    0.6471]; set(gca,'CameraPosition',[2 2 2]) hold on surface(r.*cos(t),r.*sin(t),h,'EdgeAlpha',0.1,...     'MarkerEdgeColor',[0 0 0],'FaceColor','interp') colormap(map)

总结:女生最懂女生,写代码再忙也要哄女朋友的呀 !!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3