谢宾斯基三角上的随机游走

王 茂南 2018年3月5日06:54:44
评论
1 511字阅读1分42秒
摘要记录一下谢宾斯基三角上的随机游走的一段代码。

一段关于谢宾斯基三角上的随机游走的代码,记录一下。

n = 5;
steps = 1000;
dir = {{0, 0}, {1, 0}, {0, 1}};

start = FromDigits[#, 2] & /@Transpose@Append[RandomChoice[dir, n - 1], RandomInteger[1, 2]];

move[pt_] :=
    With[{c =  RandomChoice@Pick[-dir, BitAnd @@ (# + pt) & /@ -dir, 0]},
         pt + c + RandomChoice@DeleteCases[dir, -c]];
move[{2^n, 0}] := {2^n - 1, RandomInteger@1};
move[{0, 2^n}] := {RandomInteger@1, 2^n - 1};
move[{0, 0}] := RandomChoice@Rest@dir;
ListLinePlot[{#1 + #2/2, #2*Sqrt@3/2} & @@@
      NestList[move, start, steps],
   PlotRange -> {{0, 2^n}, {0, 2^n*Sqrt[3]/2}},
   AspectRatio -> Sqrt[3]/2]

运行上面的代码可以得到下面的图形:

谢宾斯基三角上的随机游走

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2018年3月5日06:54:44
  • 转载请务必保留本文链接:https://mathpretty.com/9048.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: