码迷,mamicode.com
首页 > 其他好文 > 详细

用代码制作红玫瑰

时间:2015-02-14 09:56:42      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:

Rose[x_, theta_] := 
 Module[{phi = (Pi/2) Exp[-theta/(8 Pi)], 
   X = 1 - (1/2) ((5/4) (1 - Mod[3.6 theta, 2 Pi]/Pi)^2 - 1/4)^2, y, 
   r}, y = 1.95653 x^2 (1.27689 x - 1)^2 Sin[phi]; 
  r = X (x Sin[phi] + y Cos[phi]); {r Sin[theta], r Cos[theta], 
   X (x Cos[phi] - y Sin[phi])}]
list = Table[
   Show[ParametricPlot3D[
     Evaluate@Rose[x, theta], {x, 0, 1}, {theta, -2 Pi, n Pi}, 
     Mesh -> None, PerformanceGoal -> "Speed", PlotPoints -> 100, 
     PlotStyle -> {Red}, ImageSize -> {300, 300}, 
     PlotRange -> {{-.925, .925}, {-.925, .925}, {-1.35, .75}}, 
     Boxed -> False, Axes -> False], 
    Graphics3D[{Green, 
      Cylinder[{{0, 0, -.05}, {0, 0, -10}}, .1]}]], {n, 1, 25}];
Export["ValentineRose.gif", Join[list, Reverse[list[[2 ;; 24]]]]]


这里的代码和图片本来是想用GPL协议授权的,但是考虑到情人节,码农在喜欢并转增情人的时候,可以不用提及原作者,特别授权是:

在情人节这天用于给自己的第一个情人时,可以说是自己做的; 技术分享但是第二个以上是不适用这个特别授权,应需要遵守GPL协议: 即公开源代码并连同该协议的原文一起方可使用

技术分享技术分享

参考http://demonstrations.wolfram.com/ARoseForValentinesDay/

用代码制作红玫瑰

标签:

原文地址:http://blog.csdn.net/stereohomology/article/details/43815901

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!