用代码制作红玫瑰

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/

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值