美文网首页
Matlab:画一朵玫瑰花

Matlab:画一朵玫瑰花

作者: JackHCC | 来源:发表于2021-07-16 00:17 被阅读0次

    直接上代码:

    n = 800;
    A = 1.995653;
    B = 1.27689;
    C = 8;
    r=linspace(0,1,n);
    theta=linspace(-2,20*pi,n);
    [R,THETA]=ndgrid(r,theta);
    % define the number of petals we want per cycle. Roses have 3 and a bit.
    petalNum=3.6;
    x = 1 - (1/2)*((5/4)*(1 - mod(petalNum*THETA, 2*pi)/pi).^2 - 1/4).^2;
    phi = (pi/2)*exp(-THETA/(C*pi));
    y = A*(R.^2).*(B*R - 1).^2.*sin(phi);
    R2 = x.*(R.*sin(phi) + y.*cos(phi));
    X=R2.*sin(THETA);
    Y=R2.*cos(THETA);
    Z=x.*(R.*cos(phi)-y.*sin(phi));
    % % define a red map for our rose colouring
    red_map=linspace(1,0.25,10)';
    red_map(:,2)=0;
    red_map(:,3)=0;
    clf
    surf(X,Y,Z,'LineStyle','none')
    view([-40.50 42.00])
    colormap(red_map)
    

    运行代码:


    Rose

    相关文章

      网友评论

          本文标题:Matlab:画一朵玫瑰花

          本文链接:https://www.haomeiwen.com/subject/nbrvpltx.html