形をパーツに分解する 〜 カタチと数学 〜
カタチと数学
カタチを理解したいとき、もっとも使えるのが数学だ。
たとえば、空中に一本の線を描いてみる……線のカタチは千差万別となるが、数学はそれらのカタチを整理する基準を与えてくれる:
- a
- それ自身の次元(その多様体の位相次元)
- b
- それが入る次元(その多様体が埋め込まれるユークリッド空間の位相次元)
- c
- 予測のしやすさ(アルゴリズム情報量)
- d
- 滑らかさの次元(ハウスドルフ次元)
分類aにより、描いた線がたしかに(平面や立体ではなく)<長さという広がりしかもたない>カタチだということができる。
分類bにより、その線が平面上に貼り付いた線なのか、あるいは立体的に捩じれがあるのかをいうことができる。
分類cにより、そのカタチがよりかんたんな関数であらわせるなら(たとえば円だったら半径が決まれば線の軌跡は決まる)、それはそれだけすくない情報で伝えられるものだ、ということがいえる(これはその軌跡を点で描くとき、その点が次にどう動くかをどれだけ簡単に予測できるか、ということでもある)。
分類dにより、線がどれだけ滑らかなのかをいうことができる(世の中には<あらゆる部分が尖っている>ものすごく複雑な線もあったりする)。
もちろん分類の基準はこれだけではなく、無限にある。世界を理解したいというヒトの欲求は果てしないから、これからもさまざまな分類方法が発見/創造されていくだろう。
ただこのようなカタチの<分類>と、思い描いたカタチをじっさいに<描写>するということは、またべつだ。
じっさいなにかのカタチを描くのに、あまりに多くの手法があると混乱する……とはいえ、カタチを曲率の集合であらわすとか、空間をマス目で区切りそのN番目を通る軌跡であらわす(※1)、といったやり方では、情報量がユニットの<密度>に依存してしまう……
そこで、さまざまな描画関数が考えられた(これらはけっきょく、ある2点をどうなめらかにつなぐか、という補間技法だが)。たとえば<画用紙に描く線のカタチ>(2次元ユークリッド空間上の1次元多様体)については、次のような曲線のための描画関数がある:
- ・
- 多項式曲線……ベジエ曲線、Bスプライン曲線
- ・
- 有理式曲線……有理ベジエ曲線、有理Bスプライン曲線
ベジエ曲線は描けるカタチに制約も多いが、多くの画像処理ソフトで使われている、たぶんもっとも有名な描画関数だ(だからこの描画技法を習得しているグラフィック・デザイナはとても多い)。
有理Bスプライン曲線(ヌーバス曲線とも呼ばれる)は、二次曲線(真円/楕円/放物線)を近似せず正確にあらわせ、しかも有理ベジエ曲線より多彩な表現ができるため、ほぼ究極の表現形式となっている(だから構造を正確に表現したいCAD分野のソフトは、たいていこの描画関数を採用している)。
- ※1
- いわゆる「ラスタ形式」のグラフィック表現(なんらかの関数を使うものは「ベクタ形式」)。
またカタチを<パーツ>としてとらえるなら、空間充填の考え方がある。
平面についていえば、ある平面を埋め尽くすのに、どのような図形が使えるか、という問題だ(たとえば「そのカタチだけで平面を充填できる正多角形は、正三角形/正方形/正六角形のみ」といった定理は、この問題にふくまれる)。
変わったところでは、日常の空間(3次元ユークリッド空間)での<力学的安定>という観点から、充填するパーツの形を考えたりもしている:
- ・
- 形の物理学[→ http://www.geoci ...]