(子供や孫にコンパスと3角定規の使い方を教えながら遊べるゲーム)

エルピンスキ三角形 (Sierpinski Triangle)

 

エルピンスキ三角形はフラクタルの一種で、さまざまな大きさの三角形が複合されているが、どの三角形も大きさ以外はまったく同じ形をしている。その描き方にはいくつかあるが、その二つを紹介しよう。

 

方法1:一番大きな正三角形の頂点と3個の辺を定規を用いて描く。各辺の中心に点を書き込み、その点を直線で結んで、4分の1の大きさの正三角形を描く。この正三角形の中はこれ以上触ることはなく、白い領域としてのこす。同じ大きさの正三角形がもう3個出来ていて、それぞれ、元の大きな正三角形と頂点を共有している。これらの3個の(4分の1大の)正三角形のそれぞれに対して、まったく同じことを繰り返しおこなう。小さくなってゆく正三角形に対してこの作業を繰り返して行い続ける。

 

方法2:スゴロク一個、紙一枚、先の鋭い鉛筆、三角定規2個を用意する。一番大きな三角形の3個の頂点と3個の辺を定規を用いて描き、各辺の中心に点を書き込むところまではおなじ。3個の頂点にp1、p2、p3という名前をつけておく。

 

次に底辺の中点と正三角形頂上点を結ぶ薄い線を描きその中点に点(c0)を記す。c0と、頂点の一個p1、p2、またはp3を結びその中点(c1)に点を書き入れる。ただしp1、p2、p3のどれを選ぶかはスゴロクを用い、1か2が出ればp1を選び、スゴロクの数が3か4なら、p2、5か6ならp3を選ぶ。中点の位置は2個の三角定規を用い幾何学的に決める。

 

この先は繰り返しで、次の点c2はc1とp1、p2、あるいはp3の中点である。p1、p2、p3のどれかはスゴロクで決める。

 

暇なときに、友人、子供あるいは孫と交代で一点ずつ書いていってはいかがであろうか。200個くらいやると輪郭が見えてくる。

 

上図を作るには、GNU OCTAVEソフトウェアで短いプログラムを作り、そのグラフ機能でプロットした、点の数は2万5千点。

 

使用したプログラム

p(1,:)=[0,0];

p(2,:)=[1,0];

p(3,:)=[0.5,sqrt(0.75)];

randi=0.1

z=[0.5,0.0]

hold off

clf,  axis square,  hold on

for n=2:25000

  k=ceil(rand*3);

  z=0.5*(z + p(k,:));

  plot([z(1), z(1)+0.001], [z(2),z(2)], 'linewidth',0.5)

end

 

 

中村省一郎

11−11−2015

 

ps:方法2はまったく簡単なアルゴリズムであるが、なぜ白い3角形の中には点が入らず白紙で残されてゆくのか、言い知れぬ神秘さが秘められている。

GNU OCTAVEソフトウェアは無料で次のサイとからダウンロードできる。 https://www.gnu.org/software/octave/download.html

初心者のためのGNUオクターブ入門(中村著、日本語、電子版amazon.co.jpで発売。