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协议: 即公开源代码并连同该协议的原文一起方可使用