生活百科知识

经验知识首页 > 求职技巧 > 详细经验讲解内容页

[视频]用Mathematica绘制随机的雪花图案

关于延禧攻略用Mathematica绘制随机的雪花图案,期待您的经验分享,没有什么华丽的语言,但是我对你的感谢不会减少 !
无情天魔精致 2018-05-18 23:16:58 2913人看过 分享经验到微博

更新:2024-01-26 05:40:29头条经验

来自百度百科https://baike.baidu.com/的优秀用户无情天魔精致,于2018-05-18在生活百科知识平台总结分享了一篇关于“用Mathematica绘制随机的雪花图案网游之天谴修罗”的经验,非常感谢无情天魔精致的辛苦付出,他总结的解决技巧方法及常用办法如下:

本文用Mathematica绘制形态各异的雪花图案。

工具/原料

电脑Mathematica

方法/步骤

1/11分步阅读

给出平面上五个随机的点:

a = RandomReal[{-1, 1}, {5, 2}]

这五个点可以连成一个五边形。

[图]2/11

再加上一个点,得到六个点,也就是一个六边形。

b = Join[{{0, 0.1}}, a]

[图]3/11

从六边形的顶点{0,0.1}出发,累加六边形的顶点坐标:

c = Accumulate[b]

[图]4/11

旋转c对应的六边形:

d = c.(RotationMatrix[{c[[-1]], {0, 1}}])\[Transpose]

[图]5/11

翻转d:

e = Reverse[d.{{-1, 0}, {0, 1}}]

这类似于关于y轴的对称变换。

[图]6/11

去掉e的第一个顶点,得到五边形:

f = Rest[e]

[图]7/11

合并d和f的顶点,得到一个11边形:

g = Join[d, f]

[图]8/11

旋转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/11

这样,可以整合一个雪花函数。

[图]10/11

下面是10个随机雪花的动态图。

Graphics[{White, 雪花}, Background -> Black]

[图]11/11

下面是100个雪花。

[图]