1、给出平面上五个随机的点:a = RandomReal[{-1, 1}, {5, 2}]这五个点可以连成一个五边形。
2、再加上一个点,得到六个点,也就是一个六边形。b = Join[{{0, 0.1}}, a]
3、从六边形的顶点{0,0.1}出发,累加六边形的顶点坐标:c = Accumulate[b]
4、旋转c对应的六边形:d = c.(RotationMatrix[{c[[-1]], {0巳呀屋饔, 1}}])\[Transpose]
5、翻转d:e = Reverse[d.{{-1, 0}, {0, 1}}]这类似于关于y轴的对称变换。
6、去掉e的第一个顶点,得到五边形:f = Rest[e]
7、合并d和f的顶点,得到一个11边形:g = Join[d, f]
8、旋转11边形g,旋转角度分别是0*π/3,1*π/3,2*π/3,3*π/3,4*π/3,5*π/3;把这些顶点合并起来,脲摩喜清得到一个复杂的66边形;这就是我们得到的雪花图案。h = (g.RotationMatrix[#*60 \[Degree]] & /@ Range[6]) // Flatten[#, 1] &;
9、这样,可以整合一个雪花函数。
10、下面是10个随机雪花的动漤逗庞俄态图。Graphics[{White, 雪花}, Background -> Black]
11、下面是100个雪花。