详解Matlab绘制3D玫瑰花的方法(内附旋转版本)

目录
  • 1.玫瑰花绘制
    • 绘制效果
    • 完整代码
  • 2.月季花绘制
    • 绘制效果
    • 完整代码
  • 3.玫瑰配色
  • 4.旋转版本

1.玫瑰花绘制

绘制效果

完整代码

function drawrose
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,...
    'EdgeColor',[0 0 0],'FaceColor','interp')
colormap(map)

end

2.月季花绘制

绘制效果

完整代码

function drawrose2
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(20*t)/150;
u=1-(1-mod(3.3*t,2*pi)./pi).^4./2+change;
y=2*(x.^2-x).^2.*sin(p);

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

map=[0.9176    0.7490    0.3765
    0.9188    0.7513    0.3879
    0.9200    0.7537    0.3992
    0.9211    0.7560    0.4106
    0.9223    0.7584    0.4220
    0.9235    0.7608    0.4334
    0.9247    0.7631    0.4447
    0.9259    0.7654    0.4561
    0.9270    0.7678    0.4675
    0.9282    0.7702    0.4788
    0.9294    0.7725    0.4902
    0.9298    0.7698    0.5008
    0.9302    0.7670    0.5114
    0.9306    0.7643    0.5220
    0.9310    0.7615    0.5326
    0.9314    0.7588    0.5432
    0.9317    0.7561    0.5537
    0.9321    0.7533    0.5643
    0.9325    0.7506    0.5749
    0.9329    0.7478    0.5855
    0.9333    0.7451    0.5961
    0.9290    0.7404    0.5894
    0.9247    0.7357    0.5828
    0.9204    0.7310    0.5761
    0.9161    0.7263    0.5694
    0.9118    0.7215    0.5627
    0.9074    0.7168    0.5561
    0.9031    0.7121    0.5494
    0.8988    0.7074    0.5427
    0.8945    0.7027    0.5361
    0.8902    0.6980    0.5294
    0.8890    0.6976    0.5388
    0.8878    0.6972    0.5482
    0.8867    0.6968    0.5576
    0.8855    0.6964    0.5670
    0.8843    0.6961    0.5765
    0.8831    0.6957    0.5859
    0.8819    0.6953    0.5953
    0.8808    0.6949    0.6047
    0.8796    0.6945    0.6141
    0.8784    0.6941    0.6235
    0.8827    0.6988    0.6364
    0.8870    0.7035    0.6494
    0.8914    0.7082    0.6623
    0.8957    0.7129    0.6753
    0.9000    0.7177    0.6882
    0.9043    0.7224    0.7011
    0.9086    0.7271    0.7141
    0.9130    0.7318    0.7270
    0.9173    0.7365    0.7400
    0.9216    0.7412    0.7529
    0.9153    0.7275    0.7545
    0.9090    0.7137    0.7560
    0.9028    0.7000    0.7576
    0.8965    0.6863    0.7592
    0.8902    0.6725    0.7608
    0.8839    0.6588    0.7623
    0.8776    0.6451    0.7639
    0.8714    0.6314    0.7655
    0.8651    0.6176    0.7670
    0.8588    0.6039    0.7686
    0.8580    0.5906    0.7557
    0.8572    0.5772    0.7427
    0.8565    0.5639    0.7298
    0.8557    0.5506    0.7168
    0.8549    0.5373    0.7039
    0.8541    0.5239    0.6910
    0.8533    0.5106    0.6780
    0.8526    0.4973    0.6651
    0.8518    0.4839    0.6521
    0.8510    0.4706    0.6392
    0.8420    0.4447    0.6110
    0.8330    0.4188    0.5827
    0.8239    0.3930    0.5545
    0.8149    0.3671    0.5263
    0.8059    0.3412    0.4980
    0.7969    0.3153    0.4698
    0.7879    0.2894    0.4416
    0.7788    0.2636    0.4134
    0.7698    0.2377    0.3851
    0.7608    0.2118    0.3569];
set(gca,'CameraPosition',[2 2 2])
hold on
surface(r.*cos(t),r.*sin(t),h,'EdgeAlpha',0.1,...
    'EdgeColor',[0.5 0.5 0.5],'FaceColor','interp')
colormap(map)

end

3.玫瑰配色

代码中变量map的数值可改变以绘制不同颜色玫瑰,这里提供一部分自己取的颜色数据。

颜色展示

c1

c2

c3

c4

c5

c6

c7

颜色数据自取

c1=[1.0000    0.6471    0.8275
    0.9984    0.6353    0.8130
    0.9969    0.6236    0.7985
    0.9953    0.6118    0.7840
    0.9937    0.6000    0.7695
    0.9921    0.5882    0.7550
    0.9906    0.5765    0.7404
    0.9890    0.5647    0.7259
    0.9874    0.5529    0.7114
    0.9859    0.5412    0.6969
    0.9843    0.5294    0.6824
    0.9757    0.5149    0.6730
    0.9670    0.5004    0.6636
    0.9584    0.4859    0.6541
    0.9498    0.4714    0.6447
    0.9411    0.4568    0.6353
    0.9325    0.4423    0.6259
    0.9239    0.4278    0.6165
    0.9153    0.4133    0.6070
    0.9066    0.3988    0.5976
    0.8980    0.3843    0.5882
    0.8937    0.3780    0.5756
    0.8894    0.3718    0.5631
    0.8851    0.3655    0.5505
    0.8808    0.3592    0.5380
    0.8764    0.3529    0.5254
    0.8721    0.3467    0.5129
    0.8678    0.3404    0.5003
    0.8635    0.3341    0.4878
    0.8592    0.3279    0.4752
    0.8549    0.3216    0.4627
    0.8561    0.3165    0.4596
    0.8573    0.3114    0.4564
    0.8584    0.3063    0.4533
    0.8596    0.3012    0.4502
    0.8608    0.2961    0.4471
    0.8620    0.2910    0.4439
    0.8632    0.2859    0.4408
    0.8643    0.2808    0.4377
    0.8655    0.2757    0.4345
    0.8667    0.2706    0.4314
    0.8549    0.2620    0.4165
    0.8432    0.2533    0.4016
    0.8314    0.2447    0.3867
    0.8196    0.2361    0.3718
    0.8078    0.2274    0.3569
    0.7961    0.2188    0.3420
    0.7843    0.2102    0.3271
    0.7725    0.2016    0.3122
    0.7608    0.1929    0.2973
    0.7490    0.1843    0.2824
    0.7553    0.1827    0.2855
    0.7616    0.1812    0.2887
    0.7678    0.1796    0.2918
    0.7741    0.1780    0.2949
    0.7804    0.1764    0.2980
    0.7867    0.1749    0.3012
    0.7930    0.1733    0.3043
    0.7992    0.1717    0.3074
    0.8055    0.1702    0.3106
    0.8118    0.1686    0.3137
    0.7977    0.1631    0.3023
    0.7836    0.1576    0.2910
    0.7694    0.1521    0.2796
    0.7553    0.1466    0.2682
    0.7412    0.1411    0.2569
    0.7271    0.1357    0.2455
    0.7130    0.1302    0.2341
    0.6988    0.1247    0.2227
    0.6847    0.1192    0.2114
    0.6706    0.1137    0.2000
    0.6686    0.1141    0.1996
    0.6667    0.1145    0.1992
    0.6647    0.1149    0.1988
    0.6628    0.1153    0.1984
    0.6608    0.1157    0.1981
    0.6588    0.1160    0.1977
    0.6569    0.1164    0.1973
    0.6549    0.1168    0.1969
    0.6530    0.1172    0.1965
    0.6510    0.1176    0.1961];
c2=[0.2000    0.0941    0.3569
    0.2063    0.0906    0.3663
    0.2125    0.0870    0.3757
    0.2188    0.0835    0.3851
    0.2251    0.0800    0.3945
    0.2314    0.0765    0.4040
    0.2376    0.0729    0.4134
    0.2439    0.0694    0.4228
    0.2502    0.0659    0.4322
    0.2564    0.0623    0.4416
    0.2627    0.0588    0.4510
    0.2670    0.0608    0.4537
    0.2713    0.0627    0.4565
    0.2757    0.0647    0.4592
    0.2800    0.0666    0.4620
    0.2843    0.0686    0.4647
    0.2886    0.0706    0.4674
    0.2929    0.0725    0.4702
    0.2973    0.0745    0.4729
    0.3016    0.0764    0.4757
    0.3059    0.0784    0.4784
    0.3267    0.0855    0.4811
    0.3475    0.0925    0.4839
    0.3682    0.0996    0.4866
    0.3890    0.1066    0.4894
    0.4098    0.1137    0.4921
    0.4306    0.1208    0.4949
    0.4514    0.1278    0.4977
    0.4721    0.1349    0.5004
    0.4929    0.1419    0.5031
    0.5137    0.1490    0.5059
    0.5255    0.1529    0.5055
    0.5372    0.1568    0.5051
    0.5490    0.1608    0.5047
    0.5608    0.1647    0.5043
    0.5726    0.1686    0.5040
    0.5843    0.1725    0.5036
    0.5961    0.1764    0.5032
    0.6079    0.1804    0.5028
    0.6196    0.1843    0.5024
    0.6314    0.1882    0.5020
    0.6553    0.1984    0.4949
    0.6792    0.2086    0.4879
    0.7032    0.2188    0.4808
    0.7271    0.2290    0.4738
    0.7510    0.2392    0.4667
    0.7749    0.2494    0.4596
    0.7988    0.2596    0.4526
    0.8228    0.2698    0.4455
    0.8467    0.2800    0.4385
    0.8706    0.2902    0.4314
    0.8765    0.3024    0.4247
    0.8824    0.3145    0.4181
    0.8882    0.3267    0.4114
    0.8941    0.3388    0.4047
    0.9000    0.3510    0.3981
    0.9059    0.3632    0.3914
    0.9118    0.3753    0.3847
    0.9176    0.3875    0.3780
    0.9235    0.3996    0.3714
    0.9294    0.4118    0.3647
    0.9341    0.4228    0.3659
    0.9388    0.4338    0.3671
    0.9435    0.4447    0.3682
    0.9482    0.4557    0.3694
    0.9529    0.4667    0.3706
    0.9577    0.4777    0.3718
    0.9624    0.4887    0.3730
    0.9671    0.4996    0.3741
    0.9718    0.5106    0.3753
    0.9765    0.5216    0.3765
    0.9785    0.5259    0.3808
    0.9804    0.5302    0.3851
    0.9824    0.5345    0.3894
    0.9843    0.5388    0.3937
    0.9863    0.5432    0.3981
    0.9883    0.5475    0.4024
    0.9902    0.5518    0.4067
    0.9922    0.5561    0.4110
    0.9941    0.5604    0.4153
    0.9961    0.5647    0.4196
    0.9965    0.5718    0.4224
    0.9969    0.5788    0.4251
    0.9973    0.5859    0.4279
    0.9977    0.5929    0.4306
    0.9980    0.6000    0.4334
    0.9984    0.6071    0.4361
    0.9988    0.6141    0.4388
    0.9992    0.6212    0.4416
    0.9996    0.6282    0.4443
    1.0000    0.6353    0.4471
    0.9992    0.6467    0.4549
    0.9984    0.6580    0.4628
    0.9977    0.6694    0.4706
    0.9969    0.6808    0.4785
    0.9961    0.6922    0.4863
    0.9953    0.7035    0.4941
    0.9945    0.7149    0.5020
    0.9938    0.7263    0.5098
    0.9930    0.7376    0.5177
    0.9922    0.7490    0.5255
    0.9930    0.7639    0.5380
    0.9938    0.7788    0.5506
    0.9945    0.7937    0.5632
    0.9953    0.8086    0.5757
    0.9961    0.8235    0.5882
    0.9969    0.8384    0.6008
    0.9977    0.8533    0.6133
    0.9984    0.8682    0.6259
    0.9992    0.8831    0.6384
    1.0000    0.8980    0.6510
    0.9984    0.9035    0.6565
    0.9969    0.9090    0.6620
    0.9953    0.9145    0.6675
    0.9937    0.9200    0.6730
    0.9921    0.9254    0.6784
    0.9906    0.9309    0.6839
    0.9890    0.9364    0.6894
    0.9874    0.9419    0.6949
    0.9859    0.9474    0.7004
    0.9843    0.9529    0.7059];
c3=[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];
c4=[0.9176    0.7490    0.3765
    0.9188    0.7513    0.3879
    0.9200    0.7537    0.3992
    0.9211    0.7560    0.4106
    0.9223    0.7584    0.4220
    0.9235    0.7608    0.4334
    0.9247    0.7631    0.4447
    0.9259    0.7654    0.4561
    0.9270    0.7678    0.4675
    0.9282    0.7702    0.4788
    0.9294    0.7725    0.4902
    0.9298    0.7698    0.5008
    0.9302    0.7670    0.5114
    0.9306    0.7643    0.5220
    0.9310    0.7615    0.5326
    0.9314    0.7588    0.5432
    0.9317    0.7561    0.5537
    0.9321    0.7533    0.5643
    0.9325    0.7506    0.5749
    0.9329    0.7478    0.5855
    0.9333    0.7451    0.5961
    0.9290    0.7404    0.5894
    0.9247    0.7357    0.5828
    0.9204    0.7310    0.5761
    0.9161    0.7263    0.5694
    0.9118    0.7215    0.5627
    0.9074    0.7168    0.5561
    0.9031    0.7121    0.5494
    0.8988    0.7074    0.5427
    0.8945    0.7027    0.5361
    0.8902    0.6980    0.5294
    0.8890    0.6976    0.5388
    0.8878    0.6972    0.5482
    0.8867    0.6968    0.5576
    0.8855    0.6964    0.5670
    0.8843    0.6961    0.5765
    0.8831    0.6957    0.5859
    0.8819    0.6953    0.5953
    0.8808    0.6949    0.6047
    0.8796    0.6945    0.6141
    0.8784    0.6941    0.6235
    0.8827    0.6988    0.6364
    0.8870    0.7035    0.6494
    0.8914    0.7082    0.6623
    0.8957    0.7129    0.6753
    0.9000    0.7177    0.6882
    0.9043    0.7224    0.7011
    0.9086    0.7271    0.7141
    0.9130    0.7318    0.7270
    0.9173    0.7365    0.7400
    0.9216    0.7412    0.7529
    0.9153    0.7275    0.7545
    0.9090    0.7137    0.7560
    0.9028    0.7000    0.7576
    0.8965    0.6863    0.7592
    0.8902    0.6725    0.7608
    0.8839    0.6588    0.7623
    0.8776    0.6451    0.7639
    0.8714    0.6314    0.7655
    0.8651    0.6176    0.7670
    0.8588    0.6039    0.7686
    0.8580    0.5906    0.7557
    0.8572    0.5772    0.7427
    0.8565    0.5639    0.7298
    0.8557    0.5506    0.7168
    0.8549    0.5373    0.7039
    0.8541    0.5239    0.6910
    0.8533    0.5106    0.6780
    0.8526    0.4973    0.6651
    0.8518    0.4839    0.6521
    0.8510    0.4706    0.6392
    0.8420    0.4447    0.6110
    0.8330    0.4188    0.5827
    0.8239    0.3930    0.5545
    0.8149    0.3671    0.5263
    0.8059    0.3412    0.4980
    0.7969    0.3153    0.4698
    0.7879    0.2894    0.4416
    0.7788    0.2636    0.4134
    0.7698    0.2377    0.3851
    0.7608    0.2118    0.3569];
c5=[0.3451    0.1020    0.1451
    0.3667    0.1126    0.1616
    0.3882    0.1232    0.1780
    0.4098    0.1337    0.1945
    0.4314    0.1443    0.2110
    0.4529    0.1549    0.2275
    0.4745    0.1655    0.2439
    0.4961    0.1761    0.2604
    0.5177    0.1866    0.2769
    0.5392    0.1972    0.2933
    0.5608    0.2078    0.3098
    0.5675    0.2204    0.3200
    0.5741    0.2329    0.3302
    0.5808    0.2454    0.3404
    0.5875    0.2580    0.3506
    0.5941    0.2706    0.3608
    0.6008    0.2831    0.3710
    0.6075    0.2957    0.3812
    0.6142    0.3082    0.3914
    0.6208    0.3208    0.4016
    0.6275    0.3333    0.4118
    0.6318    0.3388    0.4173
    0.6361    0.3443    0.4228
    0.6404    0.3498    0.4283
    0.6447    0.3553    0.4338
    0.6490    0.3608    0.4393
    0.6534    0.3662    0.4447
    0.6577    0.3717    0.4502
    0.6620    0.3772    0.4557
    0.6663    0.3827    0.4612
    0.6706    0.3882    0.4667
    0.6788    0.4007    0.4785
    0.6871    0.4133    0.4902
    0.6953    0.4259    0.5020
    0.7035    0.4384    0.5137
    0.7117    0.4510    0.5255
    0.7200    0.4635    0.5373
    0.7282    0.4760    0.5490
    0.7364    0.4886    0.5608
    0.7447    0.5012    0.5725
    0.7529    0.5137    0.5843
    0.7584    0.5223    0.5921
    0.7639    0.5310    0.6000
    0.7694    0.5396    0.6078
    0.7749    0.5482    0.6157
    0.7803    0.5569    0.6235
    0.7858    0.5655    0.6313
    0.7913    0.5741    0.6392
    0.7968    0.5827    0.6470
    0.8023    0.5914    0.6549
    0.8078    0.6000    0.6627
    0.8090    0.6086    0.6705
    0.8102    0.6173    0.6784
    0.8113    0.6259    0.6862
    0.8125    0.6345    0.6941
    0.8137    0.6431    0.7019
    0.8149    0.6518    0.7098
    0.8161    0.6604    0.7176
    0.8172    0.6690    0.7255
    0.8184    0.6777    0.7333
    0.8196    0.6863    0.7412
    0.8192    0.6832    0.7388
    0.8188    0.6800    0.7365
    0.8184    0.6769    0.7341
    0.8180    0.6737    0.7318
    0.8176    0.6706    0.7294
    0.8173    0.6675    0.7270
    0.8169    0.6643    0.7247
    0.8165    0.6612    0.7223
    0.8161    0.6580    0.7200
    0.8157    0.6549    0.7176];
c6=[0.3451    0.6275    0.7255
    0.3557    0.6314    0.7275
    0.3663    0.6353    0.7294
    0.3769    0.6393    0.7314
    0.3875    0.6432    0.7333
    0.3981    0.6471    0.7353
    0.4086    0.6510    0.7373
    0.4192    0.6549    0.7392
    0.4298    0.6589    0.7412
    0.4404    0.6628    0.7431
    0.4510    0.6667    0.7451
    0.4592    0.6675    0.7428
    0.4675    0.6683    0.7404
    0.4757    0.6690    0.7380
    0.4839    0.6698    0.7357
    0.4921    0.6706    0.7333
    0.5004    0.6714    0.7310
    0.5086    0.6722    0.7287
    0.5168    0.6729    0.7263
    0.5251    0.6737    0.7239
    0.5333    0.6745    0.7216
    0.5400    0.6761    0.7208
    0.5466    0.6776    0.7200
    0.5533    0.6792    0.7192
    0.5600    0.6808    0.7184
    0.5666    0.6824    0.7177
    0.5733    0.6839    0.7169
    0.5800    0.6855    0.7161
    0.5867    0.6871    0.7153
    0.5933    0.6886    0.7145
    0.6000    0.6902    0.7137
    0.6071    0.6941    0.7172
    0.6141    0.6980    0.7208
    0.6212    0.7020    0.7243
    0.6282    0.7059    0.7278
    0.6353    0.7098    0.7313
    0.6424    0.7137    0.7349
    0.6494    0.7176    0.7384
    0.6565    0.7216    0.7419
    0.6635    0.7255    0.7455
    0.6706    0.7294    0.7490
    0.6773    0.7357    0.7545
    0.6839    0.7420    0.7600
    0.6906    0.7482    0.7655
    0.6973    0.7545    0.7710
    0.7039    0.7608    0.7764
    0.7106    0.7671    0.7819
    0.7173    0.7734    0.7874
    0.7240    0.7796    0.7929
    0.7306    0.7859    0.7984
    0.7373    0.7922    0.8039
    0.7483    0.7926    0.8008
    0.7593    0.7930    0.7976
    0.7702    0.7934    0.7945
    0.7812    0.7938    0.7913
    0.7922    0.7942    0.7882
    0.8032    0.7945    0.7851
    0.8142    0.7949    0.7819
    0.8251    0.7953    0.7788
    0.8361    0.7957    0.7756
    0.8471    0.7961    0.7725
    0.8498    0.7973    0.7733
    0.8526    0.7984    0.7741
    0.8553    0.7996    0.7749
    0.8581    0.8008    0.7757
    0.8608    0.8019    0.7764
    0.8635    0.8031    0.7772
    0.8663    0.8043    0.7780
    0.8690    0.8055    0.7788
    0.8718    0.8066    0.7796
    0.8745    0.8078    0.7804];
c7=[0.5922    0.7098    0.7490
    0.6051    0.7094    0.7435
    0.6181    0.7090    0.7380
    0.6310    0.7086    0.7325
    0.6440    0.7082    0.7270
    0.6569    0.7078    0.7216
    0.6698    0.7075    0.7161
    0.6828    0.7071    0.7106
    0.6957    0.7067    0.7051
    0.7087    0.7063    0.6996
    0.7216    0.7059    0.6941
    0.7314    0.7090    0.6965
    0.7412    0.7122    0.6988
    0.7510    0.7153    0.7012
    0.7608    0.7185    0.7035
    0.7706    0.7216    0.7059
    0.7804    0.7247    0.7082
    0.7902    0.7279    0.7106
    0.8000    0.7310    0.7129
    0.8098    0.7342    0.7153
    0.8196    0.7373    0.7176
    0.8372    0.7432    0.7172
    0.8549    0.7491    0.7168
    0.8726    0.7549    0.7164
    0.8902    0.7608    0.7160
    0.9079    0.7667    0.7157
    0.9255    0.7726    0.7153
    0.9432    0.7785    0.7149
    0.9608    0.7843    0.7145
    0.9785    0.7902    0.7141
    0.9961    0.7961    0.7137
    0.9965    0.7937    0.7102
    0.9969    0.7914    0.7066
    0.9973    0.7890    0.7031
    0.9977    0.7867    0.6996
    0.9980    0.7843    0.6961
    0.9984    0.7819    0.6925
    0.9988    0.7796    0.6890
    0.9992    0.7772    0.6855
    0.9996    0.7749    0.6819
    1.0000    0.7725    0.6784
    1.0000    0.7643    0.6713
    1.0000    0.7560    0.6643
    1.0000    0.7478    0.6572
    1.0000    0.7396    0.6502
    1.0000    0.7313    0.6431
    1.0000    0.7231    0.6360
    1.0000    0.7149    0.6290
    1.0000    0.7067    0.6219
    1.0000    0.6984    0.6149
    1.0000    0.6902    0.6078
    0.9996    0.6824    0.5968
    0.9992    0.6745    0.5858
    0.9988    0.6667    0.5749
    0.9984    0.6588    0.5639
    0.9980    0.6510    0.5529
    0.9977    0.6432    0.5419
    0.9973    0.6353    0.5309
    0.9969    0.6275    0.5200
    0.9965    0.6196    0.5090
    0.9961    0.6118    0.4980
    0.9965    0.6067    0.4909
    0.9969    0.6016    0.4839
    0.9973    0.5965    0.4768
    0.9977    0.5914    0.4698
    0.9980    0.5863    0.4627
    0.9984    0.5812    0.4557
    0.9988    0.5761    0.4486
    0.9992    0.5710    0.4416
    0.9996    0.5659    0.4346
    1.0000    0.5608    0.4275
    0.9969    0.5522    0.4173
    0.9937    0.5435    0.4071
    0.9906    0.5349    0.3969
    0.9874    0.5263    0.3867
    0.9843    0.5176    0.3765
    0.9812    0.5090    0.3663
    0.9780    0.5004    0.3561
    0.9749    0.4918    0.3459
    0.9717    0.4831    0.3357
    0.9686    0.4745    0.3255];

4.旋转版本

改动很小,就是最后一小段稍有变动

function drawrose2
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(20*t)/150;
u=1-(1-mod(3.3*t,2*pi)./pi).^4./2+change;
y=2*(x.^2-x).^2.*sin(p);

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

map=[0.9176    0.7490    0.3765
    0.9188    0.7513    0.3879
    0.9200    0.7537    0.3992
    0.9211    0.7560    0.4106
    0.9223    0.7584    0.4220
    0.9235    0.7608    0.4334
    0.9247    0.7631    0.4447
    0.9259    0.7654    0.4561
    0.9270    0.7678    0.4675
    0.9282    0.7702    0.4788
    0.9294    0.7725    0.4902
    0.9298    0.7698    0.5008
    0.9302    0.7670    0.5114
    0.9306    0.7643    0.5220
    0.9310    0.7615    0.5326
    0.9314    0.7588    0.5432
    0.9317    0.7561    0.5537
    0.9321    0.7533    0.5643
    0.9325    0.7506    0.5749
    0.9329    0.7478    0.5855
    0.9333    0.7451    0.5961
    0.9290    0.7404    0.5894
    0.9247    0.7357    0.5828
    0.9204    0.7310    0.5761
    0.9161    0.7263    0.5694
    0.9118    0.7215    0.5627
    0.9074    0.7168    0.5561
    0.9031    0.7121    0.5494
    0.8988    0.7074    0.5427
    0.8945    0.7027    0.5361
    0.8902    0.6980    0.5294
    0.8890    0.6976    0.5388
    0.8878    0.6972    0.5482
    0.8867    0.6968    0.5576
    0.8855    0.6964    0.5670
    0.8843    0.6961    0.5765
    0.8831    0.6957    0.5859
    0.8819    0.6953    0.5953
    0.8808    0.6949    0.6047
    0.8796    0.6945    0.6141
    0.8784    0.6941    0.6235
    0.8827    0.6988    0.6364
    0.8870    0.7035    0.6494
    0.8914    0.7082    0.6623
    0.8957    0.7129    0.6753
    0.9000    0.7177    0.6882
    0.9043    0.7224    0.7011
    0.9086    0.7271    0.7141
    0.9130    0.7318    0.7270
    0.9173    0.7365    0.7400
    0.9216    0.7412    0.7529
    0.9153    0.7275    0.7545
    0.9090    0.7137    0.7560
    0.9028    0.7000    0.7576
    0.8965    0.6863    0.7592
    0.8902    0.6725    0.7608
    0.8839    0.6588    0.7623
    0.8776    0.6451    0.7639
    0.8714    0.6314    0.7655
    0.8651    0.6176    0.7670
    0.8588    0.6039    0.7686
    0.8580    0.5906    0.7557
    0.8572    0.5772    0.7427
    0.8565    0.5639    0.7298
    0.8557    0.5506    0.7168
    0.8549    0.5373    0.7039
    0.8541    0.5239    0.6910
    0.8533    0.5106    0.6780
    0.8526    0.4973    0.6651
    0.8518    0.4839    0.6521
    0.8510    0.4706    0.6392
    0.8420    0.4447    0.6110
    0.8330    0.4188    0.5827
    0.8239    0.3930    0.5545
    0.8149    0.3671    0.5263
    0.8059    0.3412    0.4980
    0.7969    0.3153    0.4698
    0.7879    0.2894    0.4416
    0.7788    0.2636    0.4134
    0.7698    0.2377    0.3851
    0.7608    0.2118    0.3569];
set(gca,'CameraPosition',[2 2 2])
hold on
Xset=r.*cos(t);Yset=r.*sin(t);
sf=surface(Xset,Yset,h,'EdgeAlpha',0.1,...
    'EdgeColor',[0.5 0.5 0.5],'FaceColor','interp');
colormap(map)

theta=0;
while 1
    theta=theta+0.02;
    set(sf,'XData',Xset.*cos(theta)-Yset.*sin(theta),...
        'YData',Xset.*sin(theta)+Yset.*cos(theta))
    pause(0.01)
end

end

到此这篇关于详解Matlab绘制3D玫瑰花的方法(内附旋转版本)的文章就介绍到这了,更多相关Matlab绘制玫瑰花内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 利用Python的turtle库绘制玫瑰教程

    turtle的文档:https://docs.python.org/3/library/turtle.html 用Python的turtle库绘图是很简单的,闲来无事就画了一个玫瑰花,下面奉上源码.... 源码: ''' Created on Nov 18, 2017 @author: QiZhao ''' import turtle # 设置初始位置 turtle.penup() turtle.left(90) turtle.fd(200) turtle.pendown() turtle.ri

  • javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码

    本文实例讲述了javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果.分享给大家供大家参考.具体如下: 下面的玫瑰绘制用到了HTML 5的canvas,所以你的浏览器需要支持HTML 5.个人还是比较推荐chrome,这个效果在Firefox下也会稍卡. 效果图: 演示地址:http://demo.jb51.net/js/2015/js-flower-canvas.html 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML

  • python绘制玫瑰的实现代码

    今天为大家介绍一个Python绘制一朵漂亮的玫瑰花,用python的turtle库这个绘画库是非常简单的,但是还是需要你测试路径方向,慢慢调试,下面的代码具有一定的参考价值 利用python绘制一朵玫瑰,快拿去送给你心爱的人吧! 说明一下这里我建了两个.py文件,一个是绘制玫瑰的主文件(draw_rose.py),另一个是存放绘制玫瑰的数据文件(rose_data.py)在绘制的主文件中会调用到. 所以大家需要建两个.py文件放置到相同目录下(建议不要有中文路径),然后调用draw_rose.p

  • 只要1K 纯JS脚本送你一朵3D红色玫瑰

    Roman Cortes又带来了用JavaScript脚本编写的红色玫瑰花.用代码做出的玫瑰花,这才是牛逼程序员送给女友的最好情人节礼物呢!(提示:在不同浏览器下观看效果.速度会有很大的不同) 图片是由代码生成,用户可以刷新该页面,重复观看这朵玫瑰的呈现过程. 3D玫瑰花的实现代码如下: 复制代码 代码如下: with(m=Math)C=cos,S=sin,P=pow,R=random;c.width=c.height=f=500;h=-250;function p(a,b,c){if(c>60

  • 使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例

    今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): time.sleep(0.0005) if branch > 3: if 8 <= branch <= 12:

  • 利用Matlab绘制一个可爱的南瓜灯

    目录 效果及原理 原理 实现方法 完整代码 效果及原理 效果如下: 调一下数据还能改成三角眼: 原理 南瓜主体函数从知友 [九章算法] 的一张图而来,大体是瓜身瓜柄分段函数,然后绕着z轴旋转一周得到曲面,我对数值做了微调,原图及原始数据: 实现方法 这里我故意保留了网格让南瓜看起来有一点布娃娃的感觉,(大家也可以根据自己喜好改写,例如将’EdgeColor’设置为’none’并打个光啥的) % 构造网格 [t,p]=meshgrid(linspace(0,2*pi,200),linspace(0

  • 基于Matlab绘制超绚丽的烟花的过程详解

    目录 1.使用效果 2.随机点生成 3.图像膨胀 4.特效「风」模拟 5.级坐标变换 6.图像模糊及再映射 7.图像上色 8.完整代码 1.使用效果 2.随机点生成 我们要构造一个黑色背景,对其添加高斯噪声,然后依据阈值删掉部分噪声,生成一张随机点图片: % 构造黑色背景并生成白色杂点 blackPic=uint8(zeros(800,800)); distPic=imnoise(blackPic,'gaussian',0, 0.11); distPic(distPic<254)=0; 3.图像

  • 详解Matlab绘制3D玫瑰花的方法(内附旋转版本)

    目录 1.玫瑰花绘制 绘制效果 完整代码 2.月季花绘制 绘制效果 完整代码 3.玫瑰配色 4.旋转版本 1.玫瑰花绘制 绘制效果 完整代码 function drawrose 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*(

  • Matlab绘制雨云图的方法详解

    目录 介绍 横向雨云图 纵向雨云图 介绍 写了俩代码模板,用来绘制横向云雨图与纵向云雨图,云雨图其实就是用把小提琴图拆开来的模板,想获取小提琴图绘制函数的可以看这里:基于Matlab绘制小提琴图的示例代码 后面的俩模板用的时候只需要换换数据,颜色及每一类名称即可,雨云图绘制效果如下: 横向雨云图 function rainCloudsTMPL1 % @author: slandarer % 在这里放入你的数据============================================

  • 详解Matlab实现动态表白图的绘制

    目录 1.幸福和快乐的哲学追问 2.提前祝女朋友节日快乐 2.1 展现 2.2 代码 1.幸福和快乐的哲学追问 在过去的500年间,我们见证了一连串令人惊叹的革命.地球在生态和历史上都已经整合成一个单一的领域.经济呈现指数增长,今日人类所享有的财富在过去只有可能出现在童话里.而科学和工业革命也带给我们超人类的力量,以及几乎可以说无限的能源.不仅社会秩序完全改变,政治.日常生活和人类心理也彻底改观. 只不过,我们真的更快乐了吗?人类在过去5世纪间积蓄的财富,是不是真的让我们找到了新的满足感?有了取

  • 详解Matlab如何绘制圆角半透明图例

    目录 基本使用 使用说明 完整代码 目前MATLAB的legend图例是不支持圆角和半透明的,欸,不能咱就自己画,就是把原始图例隐藏后不断追踪其位置绘制半透明的圆角矩形嘛,这有任何难度吗???完全没有!!因此就有了这篇推送(目前不支持三维绘图): 基本使用 继续假设我们编写了如下代码: t=0:0.35:3*pi; plot(t,sin(t),'Marker','d','LineWidth',2,'Color',[102,194,166]./255) hold on plot(t,cos(t./

  • 详解pandas绘制矩阵散点图(scatter_matrix)的方法

    使用散点图矩阵图,可以两两发现特征之间的联系 pd.plotting.scatter_matrix(frame, alpha=0.5, c,figsize=None, ax=None, diagonal='hist', marker='.', density_kwds=None,hist_kwds=None, range_padding=0.05, **kwds) 1.frame,pandas dataframe对象 2.alpha, 图像透明度,一般取(0,1] 3.figsize,以英寸为单

  • 详解Matlab如何绘制小提琴图

    目录 1使用示例 基础使用,Y为矩阵 基础使用,Y为向量,X为标签 基础使用多个图像绘制,并添加图例 2完整代码 写了个matlab绘制小提琴图的函数: 1.图中小提琴状区域为核密度曲线 2.白色方块为25%,75%分位数 3.中间横线为中位数 4.白色点为离群值点 5.竖着的黑线是去掉离群值点后点的上下限 1使用示例 基础使用,Y为矩阵 X=1:5; Y=randn(100,5); Hdl1=violinChart(gca,X,Y,[0 0.447 0.741],0.6); X:横坐标 Y:数

  • 详解Matlab如何绘制桑基图

    目录 详细用法 1使用示例 2输入参数 3输出 函数完整代码 使用示例代码 这次主要是分享自己写的一个函数,用来绘制桑基图,效果大概是下面这样子: 先说明函数(sankey2)怎么用,函数完整代码放在博客最后 详细用法 1 使用示例 新建一个m文件,运行如下代码 List={'a1',1,'A'; 'a2',1,'A'; 'a3',1,'A'; 'a3',0.5,'C'; 'b1',1,'B'; 'b2',1,'B'; 'b3',1,'B'; 'c1',1,'C'; 'c2',1,'C'; 'c

  • 详解用Nginx搭建CDN服务器方法(图文)

    利用Nginx的proxy_cache搭建缓存服务器一:编译ngx_cache_purge 1.Nginx的Proxy_cache是根据Key值md5哈希存储缓存,支持任意的Key,例如你可以根据"域名.URI.参数"组合成key,也支持非200状态码,如404/302等. 2.要利用Nginx的Proxy_cache,你需要在Nginx编译进ngx_cache_purge 模块,执行:nginx -V,查看有没有ngx_cache_purge 字样,没有的话需要自己手动编译. Ngi

  • 详解OpenCV执行连通分量标记的方法和分析

    目录 1.OpenCV 连通分量标记和分析 1.1 OpenCV 连通分量标记和分析函数 1.2 项目结构 2.案例实现 2.1 使用 OpenCV 实现基本的连通分量标记 2.2 完整代码 2.3 过滤连通分量 2.4 C++代码案例 在本教程中,您将学习如何使用 OpenCV 执行连通分量标记和分析.具体来说,我们将重点介绍 OpenCV 最常用的连通分量标记函数:cv2.connectedComponentsWithStats. 连通分量标记(也称为连通分量分析.斑点提取或区域标记)是图论

  • 详解java.lang.reflect.Modifier.isInterface()方法

    详解java.lang.reflect.Modifier.isInterface()方法 java.lang.reflect.Modifier.isInterface(int mod)方法判断如果给定mod参数包含final修饰符,则返回true,否则返回false. 声明 以下是java.lang.reflect.Modifier.isInterface()方法的声明. public static boolean isInterface(int mod) 参数 mod - 一组修饰符. 返回值

随机推荐