ここでは、繰り返し関数システム、略してIFSについて扱います。ここでは繰り返し変換が行われます。空間が何度も自分自身にマッピングされます。このプロセスにはさまざまなマッピング規則があり得ます。理想的にはこれを無限に行い、すべての間で不変である空間内の集合を考察します。この集合はフラクタルになる可能性があります! 理論はさておき、Wikipediaで基本的な内容を、そして素晴らしい本でより深く理解することができます。では、これをどのように生成するのでしょうか? 最も簡単な方法は「カオスゲーム」と呼ばれるものです。一点を取り、その点に一つの変換を適用します。変換によって不変である点集合に関わるため、目的の点は集合内に落ちなければなりません。この新しい点でプロセスを繰り返し、何千回も繰り返して図が浮かび上がるまで続けます。 それでは、有名なバーンズリー・ファーンでこれを実行しましょう! しかし、どうやって? ループとアフィン変換を計算する能力が必要です。pgfmathでこれは可能ですが、私の見解では読みにくいです。そのため、通常のプログラミング言語を統合できる利点を活かしてLuaを使用します。これにより、コーディングは簡単になります。パラメータは行列に書き込まれます。つまり、変換パラメータとカオスゲームの変換選択の確率です。点を走らせましょう! 翻訳にはLuaTeXと忍耐が必要です。試行錯誤やパラメータの調整をするときは、最初は反復回数を少なくしてください。 % !TEX lualatex \documentclass[tikz,border=10pt]{standalone} \usepackage{luacode} \begin{luacode*} function barnsley(iterations,options) local x = math.random() local y = math.random() local m…