グレイコードに基づく三角形の色づけ

実数のグレイコード表現は、[0,1] 区間の実数を、0,1、⊥の 無限列で⊥を高々1つしか含まないものにより番地づけるものでした。 (ホームページの他のドキュメントを見てください。)同様に、 シェルピンスキー・ガスケットに、0,1、2、⊥の 無限列で⊥を高々1つしか含まないもので番地づけをすることができます。 正確には、ここでの⊥は3つの値のどれでもいいという1つの⊥があるのではなくて、 0と1の境界の⊥、1と2の境界の⊥、2と0の境界の⊥という3種類の⊥があると 考えます。

さて、0,1,2という3つの値は、赤、青、緑とみなすことができます。 そして、無限列は、それぞれのビットに 1/2, 1/4,... と重みをつけて足し合わせることにより、一つの数を表していると考えることができます。(ボトムを含む点は境界なので、まさに2つの色の境界と考えてください。) これにより、シェルピンスキー・ガスケットに次のような色をつけることが できます。

この色づけは、

といった性質を持っています。これらは、この絵を見た時の気持ちよさの源に なっているのではないかと考えます。

ところで、シェルピンスキー・ガスケットに色をつけたところで、一般に はあまり面白くないので、この色づけを3角形に拡張することを考えます。 真中の三角形にどういう色を塗るかですが、周りの3つの三角形から、30度、 30度、120度の3角形の部分を各辺に関して対象に折り返すということを、再帰 的に行ってやります。

すると、このような色づけになります。 (実際には、もう少し違ったアルゴリズムで色づけをしています。) このように、3つの頂点を中心として、赤、青、緑という3色で色分けがされ てます。しかし、三角形の周辺で見れば、赤と青の境界の近くは、赤と青の色 成分が1/2 にまで減っており、代わりに緑成分が共に 1/2 まで増えています。 片方が暗い黄色で、片方が暗いシアン色になっています。 すなわち、境界では、(赤、青、緑) 成分が、(0.5, 0, 0.5) --> (0, 0.5, 0.5) と変化しているわけで、緑成分が、赤と青の境界を覆って連続性を出している と考えることができます。この緑成分は、三角形の中心近くではより値が小さ くなっていって、境界がより明瞭になっていくのが、私としては気に入らない のですが、3つの色が、お互いの境界をカバーしあう様に重なり合っている、 そういう状況ができているといえます。

さらに、様々なパラメータを変化させて、バリエーションをいくつか考えてみ ました。楽しんでみてください。

triangle0.5-4-1.0-0-0-0-0-0-50-0.gif

triangle0.5-4-1.0-0-0-0-0-0-0-50.gif

triangle0.4.gif

triangle0.6.gif

triangle0.3-5.gif

triangl0.3-5-0.5.gif

triangle0.5-5-0.5.gif

triangle0.5-5-0.8.gif

triangle0.5-5-1.0-2.gif

hyousi0.gif