minjiecow 发表于 2012-12-6 16:32:36

大家看看这个程序运行的结果是否漂亮?

tree :=
Module[{\, mz, my, temp, k, i, p1, p2, n, a, b, c, d, e, f},
   \ = Pi/6;
   mz = {{Cos[\], -Sin[\]}, {Sin[\],
      Cos[\]}};
   my = {{Cos[-\], -Sin[-\]}, {Sin[-\],
      Cos[-\]}};;
   temp = set;
   p1 = {};(*存放树干*)
   p2 = {};(*存放树枝*)
   For[k = 1, k <= m, k++,
    n = Length;
    p2 = {};
    For[i = 1, i <= n, i++,
   L = Part;
   a = Part;
   b = Part;
   c = 1/3*a + 2/3*b;
   d = c + mz.(a - b)*(1/3);
   e = c + my.(a - b)*(1/3);
   AppendTo, Line[{b, c}]}];
   AppendTo;
   AppendTo;
   AppendTo;
   ];
    temp = p2;
    ];
   
   Show[Graphics[{
      p1,
      {RGBColor, Line}
      }]
    ]
   ];
tree[{{{0., 0.}, {0., 1.}}}, 7]

HyperGroups 发表于 2012-12-27 15:37:31

本帖最后由 HyperGroups 于 2012-12-27 15:39 编辑

多了一个封号,
漂亮,楼主再接再励,弄个三维的漂亮的树

熔雨 发表于 2013-4-21 09:40:07

怎么弄的啊,不明白。

chyanog 发表于 2013-4-23 21:32:24

本帖最后由 chyanog 于 2013-4-23 21:36 编辑

ctree = Compile[{{ls, _Real, 2}},
   Module[{a, b},
    {a, b} = ls;
    {{a, (a + b)/2}, {(a + b)/2, b},
   {(a + b)/2, {{1, 1}, {-1, 1}} . (b - a)/2.82 + (a + b)/2}, {(3*a + b)/4,
      ({{1.73, -1}, {1, 1.73}}.(a + 3 b) +   {{.26, 1}, {-1, .26}}.(3 a + b))/8}}],
   RuntimeAttributes -> {Listable}];

With[{p = Flatten, #] &},
Graphics[Line[#,
   VertexColors -> (ColorData["AvocadoColors", #] & /@ #[])] & /@ Rescale]
]

http://mymma.googlecode.com/files/tree.gif
页: [1]
查看完整版本: 大家看看这个程序运行的结果是否漂亮?