当前访客身份:游客 [ 登录 | 加入 OSCHINA ]

代码分享

当前位置:
代码分享 » 其他  » 编程基础
wjxjyl

舞动的国旗

wjxjyl 发布于 2012年10月31日 19时, 5评/415阅
分享到: 
收藏 +0
1
用mathematics做的国旗舞动的动画
标签: <无>

代码片段(2) [全屏查看所有代码]

1. [图片] 从@yhc0309的代码基础上修改而来    

2. [代码][其他]代码     跳至 [2] [全屏预览]

star[{x0_, y0_}, r_, \[Theta]_, color_: Yellow] := 
  Graphics[Rotate[{Yellow, 
     Polygon[Table[
       r {Cos[t], Sin[t]} + {x0, y0}, {t, 0, 4 \[Pi], (4 \[Pi])/5}]], 
     Disk[{x0, y0}, r 1/2 (3 - Sqrt[5])]}, \[Theta]]];

pic = Reverse[
   ImageData[
    Image[Show[
      Graphics[{Red, Polygon[{{0, 0}, {3, 0}, {3, -2}, {0, -2}}]}], 
      star[{0.5, -0.5}, 0.3, 0.3], star[{1, -0.2}, 0.1, 0], 
      star[{1.2, -0.4}, 0.1, 0.6], star[{1.2, -0.7}, 0.1, 0.31], 
      star[{1, -0.9}, 0.1, 0]]]]];

partpic = pic[[1 ;; -1 ;; 2, 1 ;; -1 ;; 2]];

Animate[ListPlot3D[
  Table[Sin[x + a] + Cos[y + a], {x, 0, 6.1, .05}, {y, 0, 8.95, .05}],
   Mesh -> None, VertexColors -> {partpic}, Lighting -> "Neutral", 
  Axes -> False, Boxed -> False, BoxRatios -> {3, 2, 1}], {a, -Pi/2, 
  Pi/2}]


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(5)

  • 1楼:random_walk 发表于 2012-10-31 19:48 回复此评论
    不错,看来这里还是有人用Mathematica的,不知LZ接触多久了?
  • 2楼:wjxjyl 发表于 2012-10-31 20:09 回复此评论

    引用来自“yhc0309”的评论

    不错,看来这里还是有人用Mathematica的,不知LZ接触多久了?
    我只是几年前做课程设计的题目时用到过,看到你写的代码想起来了。 当时我直接使用已经提前画好的国旗图,现在改成在程序里用你的代码绘制了。
  • 3楼:wjxjyl 发表于 2012-10-31 21:48 回复此评论

    引用来自“yhc0309”的评论

    不错,看来这里还是有人用Mathematica的,不知LZ接触多久了?
    实现的方法有很多啊……学习了。 我似乎走了弯路……
  • 4楼:random_walk 发表于 2012-10-31 22:18 回复此评论


  • 5楼:leiyang-ge 发表于 2012-10-31 22:26 回复此评论
    不过国旗并不是这么简单的正弦波嘛?
开源从代码分享开始 分享代码
wjxjyl的其它代码 全部(1)...