自由曲面実現の歴史
目次
自由曲面
MIT のスティーブン・クーンズ(Steven Anson Coons)教授は、MIT の学生だった第2次世界大戦中から航空機の設計に携わり、自由な曲面を定義する方法について深く関心を持っていました。
1967年、クーンズ教授はついに、自由に定義された複数の曲線から、自由な曲面を作り出す方法を考案します。「Coons patch」と呼ばれるこの方法により、やっと「自由な曲面を作る」ための方法が明らかになります。
しかし、この方法は「自由な曲線」の定義方法に制約があり、そのまま使うことはできませんでした。そこで、クーンズ教授の方法で使いやすいように、B-スプラインが改良されます。NURBS(Non-Uniform Rational B-Spline:制御点の並べ方に制約のない、重みづけパラメータを持った B-Sprine)というアルゴリズムが開発されたのが、1979年のことでした。
これにより、やっと念願の「自由曲面」のアルゴリズムが完成します。この方法で作られる曲面を、NURBS 曲面と呼びます。
もっとも、NURBS 曲面は非常に計算が複雑で、実用的に使用できるようになるまでには、まだコンピューターの高速化が必要でした。
NURBS を自由に…リアルタイムに操作して立体図形を作ることが可能な CAD ソフトウェアが作成されたのは、1989年のことです。(SGI:シリコングラフィックス社のワークステーション向けでした)
1958年、3D-APT III への拡張に際し、ロスが悩んでいたのは「自由な曲面を簡単に扱う方法がない」ということでした。
その答えにたどり着くまで、実に30年の時が必要だったのです。
…じゃぁ、この30年間、CAD は使い物にならなかったのか? といえば、もちろんそうではありません。
実際には、1960年代の DAC-1 のころから、CAD で「曲面」を作って設計は行われています。これらは、小さな「板」を多数使って曲面を近似したもので、ポリゴンメッシュと呼ばれます。
ロスが複雑に考えすぎていただけで、実用上はこれで十分だったかもしれません(笑)
もっとも、ロスは「言語として」形状を定義しようとしたために悩んだのです。この悩みを解消するために、もっと良い方法として CAD が作られました。
そして CAD によってデータを視覚化したためにポリゴンメッシュが使えるようになりました。ロスの悩みが無駄であったわけではありません。
ポリゴンメッシュは、NURBS などに比べてはるかに処理が簡単なため、現在でもコンピューターゲームなどに利用されています。
コンピューターグラフィックス
自由曲線も自由曲面も、APT の問題から派生して、CAD のために発達した技術でした。
しかし今では、これらの技術によって作られたものを目にしない日はありません。
あなたが使っているコンピューターは、おそらく文字を自由曲線で描いています。本を読んでいても、描かれたイラストも、活字も自由曲線で作られています。
あらゆる製品は CAD で設計され、緩やかなカーブデザインは自由曲面で設計されているでしょう。
コンピューターゲームでは自由曲面ではなくポリゴンメッシュが使われますが、設計段階では自由曲面を使い、メッシュに変換するほうが作業効率が良いのです。
自由曲面への道を拓いたクーンズ教授は、 1979年に亡くなっています。その後彼の功績をたたえ、1983年に「クーンズ賞」が設けられました。
この賞は、2年に1度、コンピューターグラフィックへの貢献を行った人に対して送られます。(CG会のノーベル賞と呼ばれます)
第1回受賞者は、クーンズ博士の教え子でもあり、「スケッチパッド」の制作者でもある、アイバン・サザーランドに送られました。
第2回受賞者は、ベジェ曲線のピエール・ベジェでした。
B-スプラインが拡張されてNURBS 曲面を作ったように、ベジェ曲線も現在では拡張され、ベジェ曲面を作ることができます。
…ベジェ曲面の成立年代を調べたのですが、よくわかりませんでした。しかし、NURBS より後、ということは間違いなさそうなので、NURBS の成果をベジェに取り込んだものだと思います。