ペアノ曲線で遊ぼう

(イントロダクションをスキップする)

皆さんは、数学というとどんな印象をお持ちでしょうか?

面倒で、難しくて、分かりにくい。

そんな感じではないでしょうか。

MITメディアラボの元となる組織の創設者であるシーモア・パパートは、 「フランスで育てばフランス語は完全に学習できるから、数学ランドで遊べば、数学は完全に学習できる」 と言いました。

数学ランド、そこでは数学の抽象的な概念が、目に見えて、手で触れるものになって、私たちの前に現れます。

まるでレゴのように、組み合わせたり、分解したりできると、数学の概念は急に身近なものになります。 普段我々が操っている概念と、それほど違わないことが分かるのです。

何も学ぶ必要はありません。 何かを学びたくてそこを訪れる人もいれば、ただ観光旅行に行く人もいるのです。

数学ランドはどこにあるのでしょう? 実はあなたの目の前にあります。

あなたがこの文章を読んでいる、パソコン、もしくはスマートフォン、その中には、実はずっと昔から数学ランドが隠れていたのです。

ただ数学ランドを見るのには技術が必要で、長い間、その技術は多くに人にとって縁遠いものでした。

それはあまりにもったいない。

これからあなたにお見せするアプリは、コンピュータの中にある数学ランドへの無数の入口の一つです。

コンピュータの中には、「箱の中に元の箱そっくりの箱がある」という入れ子の構造がたくさんあります。 それは現代数学の中にもたくさん現れる構造です。

そして自然界にも。

樹の枝の形は樹の形によく似ていますし、葉の葉脈の形もまた樹の形によく似ています。

マトリョーシカというロシアの人形を思い出した方もいるかもしれません。

自分の中に自分そっくりのものがある。そんな曲線を描いてみると、簡単なルールでものすごく複雑な図形が描けます。 そして不思議なパターンを描きながら、画面を埋め尽していきます。 空間を埋め尽すので、そのような曲線を「Space-Filling Curve」略してSFCと呼びます。

このアプリは皆さんを、SFCの奇妙で面白い世界へと案内します。

簡単なルールと複雑な図形のギャップを、実際に手で動かすことにより、体感ができます。

実はこの「入れ子の構造」は有限のパターンを組み合わせて、無限のパターンを作るときによく現れる構造なのです。 自然界の生物は厳しい環境の中を効率よく生き残り子孫を増やすために、 コンピュータは大きな計算を小さなプログラムでこなすために、 数学はまさに無限を有限の言葉で扱うために、この構造を使っています。

そしてもちろん、我々の日常にも、ずっと以前から現れているのです。 私たちが気付いていないだけだったのです。

必要なのは、数学ランドへ目を開いて、触って、遊んでみることだけです。

アプリの遊び方

スクリーンショット
iOS版Peano Curvesアプリの画面(実際の画面と異なる場合があります)

アプリを開くと、次のような画像が表示されているのではないでしょうか。

深さ1のペアノ曲線

これがスタート地点です。今からアプリを使ってこの曲線を操っていきましょう。

アプリ下部のボタン群を適当にタップすると、この曲線が様々に変化していきます。

まず Iteration = 1 と表示されているボタンに押してみましょう。 文字が Iteration = 2 に変化し、曲線も変化したでしょうか。 このIterationを増やしていくことにより、SFCはどんどん細かくなり、平面を埋め尽していく様子が分かると思います。

深さ2のペアノ曲線 深さ3のペアノ曲線 深さ4のペアノ曲線

その右横にある +- のボタンでIterationを増減させることもできます。 -ボタンを押すと、曲線が元に戻っていき、スタートした図形よりさらに単純な図形にもなりました。

深さ0のペアノ曲線

次に Peano Curve と表示されたボタンをタップしてみてください。近似していく曲線の種類を選べます。 現在は「Peano Curve」と「Hilbert Curve」の二種類から選べます。 種類を変えて、またIterationの数字を変えてみましょう。平面を埋め尽す方法が変わりましたね。

深さ0のヒルベルト曲線 深さ1のヒルベルト曲線 深さ2ヒルベルト曲線 深さ3のヒルベルト曲線 深さ4のヒルベルト曲線 深さ5のヒルベルト曲線 深さ6のヒルベルト曲線

それぞれペアノ曲線とヒルベルト曲線という有名なSFCに近似していく曲線が描かれます。

それぞれの曲線についてはあとで説明しますが、ペアノ曲線の方が急激に平面を埋め尽すことは一目瞭然で分かったと思います。

曲線の種類は今後増える可能性もあります。

もしこれをお読みの方が、以前どこかでペアノ曲線やヒルベルト曲線について勉強なさっているなら、ここまでで画面上に表示された曲線はすでにご存知だと思います。 しかし、次の曲線を知っている方は少数派ではないでしょうか。

今度は Main Curve と表示されているボタンをタップしてみてください。 ボタンの文字が Approx. Polygon という文字に代わり、曲線も大きく変化したと思います。 。 Main Curve(ここでは 主曲線 と訳しましょう)の方が今まで表示してきたものです。 そして、ペアノ曲線やヒルベルト曲線と聞いて誰もが思い浮かべるのはこちらでしょう。

それに対してApprox. Polygon(これはApproximationg Polygonの略です。これを 近似多角形 と訳しましょう)は、あまり見慣れない曲線になりました。

深さ0のペアノ曲線の近似多角形 深さ1のペアノ曲線の近似多角形 深さ2のペアノ曲線の近似多角形 深さ3のペアノ曲線の近似多角形 深さ4のペアノ曲線の近似多角形

線が交わったり後戻りしたりしていることに気付くでしょうか。これは主曲線にはない性質です。しかし、これは実は、「真のSFC」の性質を私たちの目に見えるようにしてくれているのです。

でも、今は「へえ、これもペアノ曲線なのか。これもヒルベルト曲線なんだ」と思って楽しんでいてください。 ヒルベルト空間の近似多角形はもっと不思議な姿をしています。

その他のボタンは曲線の見た目を細かく調整できます。

例えば何の文字も書いてない単色のボタンは豆腐ではありません。それもタップしてみて下さい。 曲線の色が変わっていきますね。

色のついたペアノ曲線

「あれ? これ自分で選べないの?」と思った方は鋭い。 そういう時は大概長押しをしてみると、解決する場合があります(しない場合もあります)。 HSLを使って好きな色を作り、レパートリーに加えることができます。

色選択画面スクリーンショット
iOS版アプリの色選択画面(実際の画面と異なる場合があります)

Rotate = 0° と表示されたボタンをタップすると、曲線が90度ずつ回転していきます。

回転したペアノ曲線

Width = 4 と表示されたボタンは、線の太さを表し、その横の+と-のボタンで線の太さを変更できます。

太いペアノ曲線

また 太さが表示されたボタン自体を押すと、キーボードで数字を入力することができます。 すごく太くしたいときに、何回も小さなボタンをポチポチ押し続ける必要はないわけです。

太さ入力画面スクリーンショット
iOS版アプリの太さ入力画面(実際の画面と異なる場合があります)

Mirror X. は水平方向の鏡映(つまり、鏡は縦に置きます。こういうの混乱しますね)を、 Mirror Y. は垂直方向の鏡映をします。 ペアノ曲線に対してはどちらも同じになってしまいますが。

鏡映状態かどうかは、ボタンの枠が太くなっていることでわかるようになっています。

鏡映ペアノ曲線

鏡映状態のまま、回転させると、少し面白い挙動を取ります。 これはちょっとした頭の体操ですね。

画像を長押しすると、画像の保存ができます。背景色は黒と透過が選べます。 この節の画像も全てアプリを使って作った画像です。

さあ、理屈は置いておいて、とにかくまず遊んでみましょう。

触れる数学ほど楽しいものはない、と私は考えています。

ご意見ご感想を待ってます。

ご意見ご感想リクエスト等は、

  • Twitter: @PeanoCurves
  • Email: z4w9i3u1q1p3x1t8 (at) peano-system.slack.com

等で受け付けています。


Feedback on Peano Curves are very welcomed. Please send your thoughts to z4w9i3u1q1p3x1t8 (at) peano-system.slack.com (please replace "(at)" with "@" to obtain the actual email address).

Apple, the Apple logo, iPhone, and iPad are trademarks of Apple Inc., registered in the U.S. and other countries and regions. App Store is a service mark of Apple Inc. Google Play and the Google Play logo are trademarks of Google LLC.