文章目录(Table of Contents)
介绍
曼陀罗曲线可以由两个行星运行轨迹的中心连线生成,调整两个行星的运行速度和初始的相位差就会得到不同的曼陀罗曲线。
相关故事
曼陀罗曲线因其图像的完美性而得名。圆形在艺术中通常意指曼陀罗。在梵文中,曼陀罗意指,“神圣的圆”,而在东方文化里使用特定的曼陀罗作为视觉冥想,已经有好几个世纪。在西藏佛教的时轮金刚一—也称为“时间之轮”(the Wheel of Time),即是非常有名的曼陀罗之一,以象征性方式说明宇宙整体架构。曼陀罗被认为是宇宙的整体架横图,如同个人意识的地图。在许多传统文化里,曼陀罗和圆形都被用在治疗性仪式上。举例来说,纳瓦荷印第安人在美国西南部建构沙画曼陀罗,作为治疗疾病之用,这些曼陀罗在有净化仪式的圣歌中创作起来,大到足以容下病人。
绘制介绍
我们可以参考下面的代码进行绘制:
- Clear[MakeSeedSegment]
- MakeSeedSegment[radius_, angle_, n_Integer: 10,
- connectingFunc_: Polygon, keepGridPoints_: False] :=
- Block[{t},
- t = Table[
- Line[{radius*r*{Cos[angle], Sin[angle]}, {radius*r, 0}}], {r, 0,
- 1, 1/n}];
- Join[If[TrueQ[keepGridPoints], t, {}], {GrayLevel[0.25],
- connectingFunc@
- RandomSample[Flatten[t /. Line[{x_, y_}] :> {x, y}, 1]]}]];
- MakeMandala[opts : OptionsPattern[]] :=
- MakeMandala[
- MakeSymmetric[
- MakeSeedSegment[20, \[Pi]/12, 12,
- RandomChoice[{Line, Polygon, BezierCurve,
- FilledCurve[BezierCurve[#]] &}], False]], \[Pi]/6, opts];
- MakeMandala[seed_, angle_?NumericQ, opts : OptionsPattern[]] :=
- Graphics[GeometricTransformation[seed,
- Table[RotationMatrix[a], {a, 0, 2 \[Pi] - angle, angle}]], opts];
- MakeSymmetric[seed_] := {seed,
- GeometricTransformation[seed, ReflectionTransform[{0, 1}]]};
- n = 12;
- Multicolumn@
- MapThread[
- If[#1, MakeMandala[MakeSeedSegment[10, #2, #3], #2],
- MakeMandala[MakeSymmetric[MakeSeedSegment[10, #2, #3, #4, False]],
- 2 #2]] &, {RandomChoice[{False, True}, n],
- RandomChoice[{\[Pi]/7, \[Pi]/8, \[Pi]/6}, n],
- RandomInteger[{8, 14}, n],
- RandomChoice[{Line, Polygon, BezierCurve,
- FilledCurve[BezierCurve[#]] &}, n]}]
通过上面的代码,我们可以绘制出下面的图像:
参考链接
美丽的曼陀罗曲线:
https://my.oschina.net/taogang/blog/497932
自然疗愈法——神秘的曼陀罗:
http://baijiahao.baidu.com/s?id=1564835154045647&wfr=spider&for=pc
- 微信公众号
- 关注微信公众号
- QQ群
- 我们的QQ群号
评论