一棵树的生成

时间:2022-11-12 10:23:47
一棵树的生成

  今天来看一个好玩的,一棵树的长大。

  1.长树枝
point = Table[{0.6^i, RandomChoice[{Pi/8, -Pi/8}]}, {i, 1, 20}];
Graphics[Line[AnglePath[point]]]
一棵树的生成

2.树枝慢慢变多
line = {};For[j = 1, j <= 10, j++,
point = Table[{0.6^i, RandomChoice[{Pi/8, -Pi/8}]}, {i, 1, 20}]; z
line = AppendTo[line, Line[AnglePath[point]]];
]
Graphics[line]
一棵树的生成
也有一种简单的写法
pic = Graphics[  Table[
Line[AnglePath[
Table[{0.6^i, RandomChoice[{-Pi/8, Pi/8}]}, {i, 1, 20}]]], 80]]
一棵树的生成
但是这棵树怎么是的呢

3.让树往上长
Rotate[pic, Pi/2]
一棵树的生成

4.我们来把树长大的过程画出来
donghua = Table[   Line[AnglePath[Table[{0.6^i, RandomChoice[{-Pi/8, Pi/8}]}, {i, 1, 20}]]], 50];

Manipulate[Rotate[Graphics[donghua[[;; i]]], Pi/2], {{i, 1}, 1, 50, 1}]
一棵树的生成
5.导出成gif
donghua = Table[   Line[AnglePath[Table[{0.6^i, RandomChoice[{-Pi/3, Pi/8}]}, {i, 1, 20}]]], 300];
image = Table[
Rotate[Graphics[donghua[[;; i]], ImageSize -> {200, 200}], Pi/2], {i, 1, 300}];
Export["shu.gif", image]
一棵树的生成

*特别
要是换一个参数,还会产生不一样的效果
Graphics[ Table[
Line[AnglePath[
Table[{0.6^i, RandomChoice[{-Pi/3, Pi/8}]}, {i, 1, 20}]]]
, 80]
]
一棵树的生成
让她动起来
一棵树的生成

以上,所有
2016/12/3