創造する玩具


primitive forms in the mind

形をパーツに分解する 〜 カタチと数学 〜

カタチと数学

2009.01.15

カタチを理解したいとき、もっとも使えるのが数学だ。

たとえば、空中に一本の線を描いてみる……線のカタチは千差万別となるが、数学はそれらのカタチを整理する基準を与えてくれる:

それ自身の次元(その多様体の位相次元)
それが入る次元(その多様体が埋め込まれるユークリッド空間の位相次元)
予測のしやすさ(アルゴリズム情報量)
滑らかさの次元(ハウスドルフ次元)

分類aにより、描いた線がたしかに(平面や立体ではなく)<長さという広がりしかもたない>カタチだということができる。

分類bにより、その線が平面上に貼り付いた線なのか、あるいは立体的に捩じれがあるのかをいうことができる。

分類cにより、そのカタチがよりかんたんな関数であらわせるなら(たとえば円だったら半径が決まれば線の軌跡は決まる)、それはそれだけすくない情報で伝えられるものだ、ということがいえる(これはその軌跡を点で描くとき、その点が次にどう動くかをどれだけ簡単に予測できるか、ということでもある)。

分類dにより、線がどれだけ滑らかなのかをいうことができる(世の中には<あらゆる部分が尖っている>ものすごく複雑な線もあったりする)。

もちろん分類の基準はこれだけではなく、無限にある。世界を理解したいというヒトの欲求は果てしないから、これからもさまざまな分類方法が発見/創造されていくだろう。

ただこのようなカタチの<分類>と、思い描いたカタチをじっさいに<描写>するということは、またべつだ。

じっさいなにかのカタチを描くのに、あまりに多くの手法があると混乱する……とはいえ、カタチを曲率の集合であらわすとか、空間をマス目で区切りそのN番目を通る軌跡であらわす(※1)、といったやり方では、情報量がユニットの<密度>に依存してしまう……

そこで、さまざまな描画関数が考えられた(これらはけっきょく、ある2点をどうなめらかにつなぐか、という補間技法だが)。たとえば<画用紙に描く線のカタチ>(2次元ユークリッド空間上の1次元多様体)については、次のような曲線のための描画関数がある:

多項式曲線……ベジエ曲線、Bスプライン曲線
有理式曲線……有理ベジエ曲線、有理Bスプライン曲線

ベジエ曲線は描けるカタチに制約も多いが、多くの画像処理ソフトで使われている、たぶんもっとも有名な描画関数だ(だからこの描画技法を習得しているグラフィック・デザイナはとても多い)。

有理Bスプライン曲線(ヌーバス曲線とも呼ばれる)は、二次曲線(真円/楕円/放物線)を近似せず正確にあらわせ、しかも有理ベジエ曲線より多彩な表現ができるため、ほぼ究極の表現形式となっている(だから構造を正確に表現したいCAD分野のソフトは、たいていこの描画関数を採用している)。

※1
いわゆる「ラスタ形式」のグラフィック表現(なんらかの関数を使うものは「ベクタ形式」)。

またカタチを<パーツ>としてとらえるなら、空間充填の考え方がある。

平面についていえば、ある平面を埋め尽くすのに、どのような図形が使えるか、という問題だ(たとえば「そのカタチだけで平面を充填できる正多角形は、正三角形/正方形/正六角形のみ」といった定理は、この問題にふくまれる)。

変わったところでは、日常の空間(3次元ユークリッド空間)での<力学的安定>という観点から、充填するパーツの形を考えたりもしている:

形の物理学[→ http://www.geoci ...