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[ [email protected][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/
时间: 2024-11-06 10:36:35