2013-04-28

"よみがえる天才アルキメデス" 斎藤憲 著

アルキメデスの求積法が、近代の積分法にどんな知識を準備し、どこが決定的に違っていたのか?これは、そうした視点からのアルキメデス入門書である。
物語は、推理小説の題材にもなりそうな発見から始まる。1906年、幻の著作「方法」の写本が発見された。表題は「エラトステネスに宛てた機械学的定理に関する方法」というそうな。一旦、第一次大戦後の混乱の中で行方不明となるが、再び出現。1988年、ニューヨークでクリスティーズのオークションに出品され、シリコンバレーで財を成した者が200万ドルで落札。その人物の名は公開されていないそうだが、有益な調査に惜しみない協力をしたという。写本に秘められる思考法には驚くべきものがある。ニュートンやライプニッツより二千年も先んじていたとは...

アルキメデスと言えば、その逸話から数学者というより技術者の印象が強い。それは、梃子の原理による投石器、浮力の原理と重心の理論による造船技術、船底に溜まった水を汲み出すスクリュー機... などの発明である。きっと理論と実践の両刀遣いに違いない。彼の思考には、ギリシア幾何学の知識が豊富に詰まっている。幾何学の基盤と言えば、やはり三角形であろう。そこで、ちょいと泥酔風に三角形の正体を暴いてみようと思う。なぁーに、中学生レベルの算数よ...
放物線とその切片である直線とで囲まれる面積を求める場合を考えてみる。まず、始点と終点を底辺とし、放物線上の点を頂点とする三角形を埋める。そして、その三角形の辺を底辺とし、放物線上の別の点を頂点とした三角形を埋める。こうして次々に三角形の辺を底辺としながら、放物線上の点を頂点とする断片的な三角形で埋め尽くせば、求める面積に近づく。放物線の描く軌跡を三角形の総和として眺めれば、三角形の面積の無限級数に対応するという寸法よ。
また、対象図形において、その区間を底辺とし、対象図形上を通る点を頂点とするように三角形を配置するということは、底辺から対象までの距離を測ることを意味する。三角形の高さは、頂点と底辺との垂線によって決定されるのだから。直角の性質は、近代数学では直交性で抽象化され、集合論、行列式、ベクトル理論、線形空間などで重要な概念とされてきた。同時に、二物の距離は二物の関係へ、平面上の垂線は多次元ベクトルへ、それぞれ抽象化されるわけである。解析学では、分析対象を直交関係にある二つの関数で分割するという基本的な思考がある。フーリエ変換が正弦関数と余弦関数を基底にするのも、互いの直交性を利用している。
面積や体積を求める時、基本図形を物差しにしながら分割し結合する方法は「取り尽くし法」として知られ、ユークリッド原論にも記される。本書は、これを「二重帰謬法」と呼んでいる。帰謬法とは背理法のことで、証明したい命題を否定してみると矛盾が生じる、というやり方で証明する論法である。二重帰謬法では、ある命題を直接証明するのではなく、より大きいか、より小さいかと仮定して矛盾を導き、その正体に近づいていく。この思考法は、積分法そのものの基本原理であり、三角形の幾何学と無限級数の代数学の融合によって組み立てられている。アルキメデスが古代ギリシア幾何学と古代バビロニア代数学の融合を夢見ていたかは知らんが...

こうした思考法が二千年以上も前から実践されてきたということは、人間の認識原理に、三角形の原理と微積分的思考の組み合わせのようなものがあるのだろうか?神を定義するために三位一体の概念を持ち出し、自己存在を確認するために第三者の意見を求める。人々が揉め事を好んで三角関係に安住を求めるのは、三体問題が解けないことを本能的に知っているからであろうか?人間は謎めいたものに惹かれる習性がある。だから、三角関係で微妙に距離を測りながら、小悪魔に憑かれるのよ。夜の社交場という耳慣れない場所では、縁(円)を求めて鋭角の視線を送ると、角張った性格を丸くしてくれる、と聞く。
また、相対的な認識能力しか持てない知的生命体が、物事を知ろうとすれば、何かと比較しながら恐る恐る近づこうとする。近代数学では、多くの微分方程式が解けないという事情から、大小関係から迫る方法が盛んに行われる。その最たるものがε-δ論法だ。このヘンテコな理論が大学の初等教育で扱われるのは、数学の偉大さに屈服させようという魂胆か?おかげで、使いもしない道具のために落ちこぼれる羽目に。ちなみに、微分学の美学には、永遠に近づこうとすることは、永遠に到達できないことを意味する!というのがある、と聞いた。いや、夜の社交学の美学だったか?定かではない。
ところで、ユークリッド原論でも見かけた「グノーモーン」が登場する。古代ギリシア人のお好きなやつで、日時計によって作られるようなL字型の図形である。なるほど、人は影を引きずって生きているというわけか。本質を解明するには、その影を追いかけよ!とでもいうのか?そうかもしれん。

1. アルキメデスの逸話
有名な逸話といえば、公衆浴場から裸で飛び出して叫んだ一言「Eureka!(分かったぞ!)」。シュラクサイのヒエロン王は、金の冠を作らせて神殿に奉納された。尚、この冠(ステパノス)は王冠ではなく、古代オリンピックの勝者に与えられた月桂冠のような形だったという。冠に銀が混ざっているとの告発があると、怒ったヒエロン王は真相を調べるように命じる。だが、金を溶かしてみるわけにもいかない。浴場でこの難問を考えていると、体が浸かった分だけ水が流れだすのを見て、冠の体積を測ればよいことに気づく。金と銀の比重の違いに目をつけたのだ。そして、冠を水をいっぱいにした甕に沈めて、あふれた水の体積を測った。
また、「支点を与えよ。そうすれば地球を動かしてみせる。」という言葉も有名。梃子の原理を使えば、小さな力で大きなものを動かせるという意味である。巨大船シュラコシア号の逸話では、ヒエロン王が建造中だった巨大な船を、アルキメデスはわずかな人手で進水させたという。滑車やウインチといった機械を利用して。換算すると4000トン以上にもなるとか。昔話には誇張があるもの。ここでは、長さ76.5メートル、幅15メートル、喫水3.9メートル、積載量1900トンという見積りをあげている。この船の底に溜まった水を汲み出すために、コクリアスというスクリュー型の汲み上げ機が使われたという。
ただ、コクリアスの発明をアルキメデスの功績にするのは、ちと怪しいようだ。古代人は、なんでも有名人の業績にしてしまう傾向があったという。第二次ポエニ戦争では、ローマ軍はアルキメデスの機械に散々手こずらされたという。投石器を使い、軍艦をクレーンで振り回し、太陽光で軍船を焼いたという話まであるそうな。この戦争でアルキメデスは死ぬことになるが、ローマの将軍マルケッルスは、彼を生かして連行するよう厳命したという。問題が解けるまで動こうとしなかったので、怒った兵士に殺されたという説もある。その時、「私の円を乱すな!」と言ったとか、言わなかったとか。我を忘れる集中力!これこそが天才の原動力なのかもしれん。
尚、彼の墓には、球の体積を発見したことに因んで、球と円柱が彫られていたそうな。紀元前1世紀、キケロが財務官としてシチリアに赴任した時に埋もれた墓を発見したという。だが、惜しいことに現存しないらしい。

2. C写本の経緯
アルキメデスの時代、文献はパピルスに記された。ただ保存性が悪く、現代に伝わるギリシア語の写本の大半は9世紀以降にビザンツ帝国(東ローマ帝国)のコンスタンティノープルで筆写されたものだという。東ローマ帝国の公用語はラテン語ではなくギリシア語であったので、しばしば「ギリシア人の帝国」と呼ばれたそうな。
アルキメデスの著作も、この例に漏れないようだ。C写本と呼ばれるからには、A写本とB写本がある。最も重要とされるのがA写本で、9世紀に作られ主要な著作の多くを網羅するという。ルネサンス期の人文主義者ジョルジョ・ヴァッラが所有していたが、彼の死後行方不明。残念ながら現存しないらしい。B写本は、13世紀に作られ、ヴァチカンの所蔵品でラテン語に翻訳されているという。これも行方不明だとか。
実は、ギリシアの学術文献の大半は、ラテン語訳される前にアラビア語に訳されるという経緯を辿ったそうな。イスラム教の創始者ムハンマドが7世紀前半に大帝国を築き、8世紀半ばにバグダッドに都を定めたアッバース朝では、ギリシア学術が熱心に研究され翻訳されたという。今では、アラビア語でしか残っていないギリシア文献も少なくないという。
さて、本テーマのC写本は、1906年にデンマークの学者ハイベアによって発見されたという。10世紀後半に作成され、12世紀に祈祷書が上書きされた「パリンプセスト」。中世の写本はたいてい羊皮紙に書かれたという。だが、羊皮紙は貴重であったため、表面を擦って文字を消し、別の著作を写すために再利用されたとか。このような写本をパリンプセストと言うそうな。ギリシア語で「再びこすったもの」という意味があるとか。ハイベアという名はユークリッド原論でも見かけたが、ギリシア数学文献の校訂版の大半を作成した人だそうで、他にはアポロニオスの「円推曲線論」、プトレマイオスの「アルマゲスト」などがあるという。
しかし、C写本は、第一次大戦後の混乱の中で、イスタンブールから姿を消し、パリで再発見される。売却されたのか?盗人の仕業か?不心得な聖職者が持ちだしたのか?...分からずじまい。なんと、パリの国立図書館はフランス文化に関係ないとして購入を断ったとか。1988年、結局オークションに出品されるが、状態は酷く、百年で千年分のダメージがあったという。そして、紫外線の力とコンピュータの威力で再現されることに...

3. 名声と民主政治
アルキメデスは生前から評価されていたわけではなく、正当な評価を受けない苛立ちと、孤独な数学者という姿も残されるという。古代ギリシアの一般的な行動様式は、他の学者を批判して自分の優秀さを強調することだとか。今と何が違うんだっけ?
ギリシアで論証数学が成立したのは、民主政治との関わりがあるのだろう。それは、ソフィストの出現に見られる。戦争をやるにしても、僭主の独断で始めるわけにはいかない。世論を説得できるほどの理屈がなければ、ボリスは動かない。論理的思考と民主政治は相性が良いのかもしれない。逆に言えば、感情論に委ねれば、民主政治は簡単に暴走するということか。
それはさておき、定理の功績について、C写本の序文にこう記されるという。
「エウドクソスが最初にその証明を見出した円錐と角錐についての定理、すなわち円錐は同高同底の円柱の3分の1であり、角錐は同高同底の角柱の3分の1であるという定理に関して、デモクリトスにも少なからぬ貢献を認めるべきでしょう。彼はこれらの図形に関する性質を証明なしで述べたのですから。」
デモクリトスは原子論を唱えたことでも知られるが、プラトンやアリストテレスに嫌われたこともあって、わずかな断片しか残っていないという。デモクリトスの歴史からの抹殺はかなり徹底しているそうな。プロクロスの「幾何学列伝」にもデモクリトスの名が見当たらないという。ギリシア数学は、紀元前6世紀タレスやピュタゴラスに始まり、プラトンのアカデメイアで発展したというのが通説であろう。いつの時代でも、巨匠から嫌われた人物は、歴史から抹殺される運命にある。そもそも、純粋な観念による真理の探求者は、名を挙げようなどとはしないだろう。ならば、名声などというものにどれだけの意味があるのだろうか。

2013-04-21

"ラング線形代数学" Serge Lang 著

学生時代に落ちこぼれ、とうに放棄したはずが、いまだ纏わりついてくる。おいらは数学屋ではない。なのに、線形代数の関連書籍だけで、本棚の一列を占拠してやがる。線形って奴に真理めいたものが秘められているというのか???
線形という言葉は、定義するだけでも難しい。グラフで描けば直線になるもの、すなわち一次関数と習ったものだが、目盛を任意の関数にとれば、どんな曲線だって直線になる。指数関数だって、対数関数だって... どうやら、写像における連続性の方に目を向けた方がよさそうである。とりあえず線形とは、原因と結果の絡みが何らかの形で連続性を示す予測可能な関係とでもしておこうか。
しかし、ほとんどの物理現象は非線形に見舞われる。世間では未来予測のための法則を見出そうと躍起だが、実際には初期条件や境界条件を前提しなければならない。電子工学では... リニア素子と呼んだところで、限られた範囲の周波数特性において線形性を見せるだけ。市場経済では... トレンド性を重視し、予測不能な期間では静観しておくのが身のため。人生では... 成長著しい十代からやがて老化して飽和していき、そして、なによりも生まれて死ぬという特異点がある。おまけに、この二大特異点で連続性が保たれるのか?と問えば、宗教にしか答えが見つからない。人間が出来る事と言えば、非線形な現象の中から線形に見える領域だけを、都合よく解釈することぐらいか。
人間の認識原理は、連続性と相性がいい。現在という認識は、過去から未来への流れの中で構築され、脳内時間の連続性を失った途端に精神分裂症に苛む。観測という行為が認識する事に他ならないとすれば、線形代数という道具があらゆる観測系で用いられるのも道理というものか。

本書は、大学初等レベルの教科書である。ただ、何かをやる度に、いつもここに引き戻される。それは、いくらか努力する姿を見せて、自分に言い訳をしているだけのことかもしれん。電子回路やプログラムで演算機能を実装するには、効率の良いアルゴリズムが必要である。ハードウェア資源には限りがあり、たらたら計算する余裕などない。そこで、シミュレーションによって離散的なスナップショットを繰り返し、不連続なものを貼り合わせて現実世界に近づけようとする。そして、チューリングマシンのような構造は記号性と相性がよく、代数学に縋るという寸法よ。つまり、アルゴリズムとは、記号を用いて、いかに近似し、いかに誤魔化し、いかに計算の手を抜くか、という思考実験である。
だが困ったことに、物理現象を数学で記述するセンスがない。ある現象から変数を見出し、微分方程式まで組み上げたとしても、それを解くとなると丸投げする始末。そう、おいらにとって数学の道具とは、数学屋を道具にすることであった。
...いつもごめんなさい!例の店にニューボトル入れときます。

線形代数でいつも注目する概念は、直交性である。この数学の美が成り立てば、大幅に演算量を減らし簡略化できる。任意のデータを直交関係にある関数の成分に分解することが、解析学の基本的思考としてある。フーリエ変換にしても、正弦波と余弦波の直交関係を利用している。
さて、代数系では、加法と乗法によって系が閉じられているかを問題にする。代数構造に馴染もうとすれば、まずは複素数系を念頭に置けば良かろう。
しかし、実際に道具として用いるには、多項式まで考慮する必要がある。そこで、多項式は行列式と相性がいい。関数構造を行列式に持ち込むと、対角化や三角化といった概念が威力を発揮する。それを可能にするか、その指標となるのが固有値である。行列式において、固有値や固有ベクトルが求まる絶妙なケースが見つかければ、幸せになれるという寸法よ。おまけに、微分方程式もまた多項式として、すなわち、常微分方程式として眺められれば、幸せもひとしおとなる。
さらに、二次元変換系を 3 x 3 マトリックス、三次元変換系を 4 x 4 マトリックス、といった具合に、多項式の次元に +1 して正方行列に対応づけると、行列式の性質から極端に演算効率が高まる。まるで人間の認識能力に連続性の次元を加えたかのような。そう、「認識空間 + 時間」だ。
ただ、再読しているうちに、ちと違った感覚に見舞われる。それは、内積の意義である。それは... グラム = シュミット直交化法で紹介される正値との関係。つまり、内積が非負であること。これを非退化と呼ぶことに、ちと抵抗があるものの。あるいは、エルミート積としての複素共役の意義、行列式と双線形写像との相性。...といったものである。いずれも直交性の概念を、ちと角度を変えて眺めているだけなんだけど。
また、これは外積の方だが、多重線形積としてのテンソル積の意義、あるいは、超平面における凸集合の意義、作用素としてのユニタリや随伴写像も見逃せない...などなど、この書にはまだまだ未開(未解)の地が広がる。あと何回読み返すことになるのやら...
てなわけで、たまには夜の社交場へ直行する角度も、ちと変えてみるか。あと何回通うことになるのやら...

1. 代数的構造
基本的な代数構造といえば、体、群、環、あるいはイデアルといったものがある。まず、馴染めない用語に目をつぶろう。いずれも加法および乗法の二項演算を備えた集合であって、結合法則、交換法則、分配法則において系に留まることができるか、あるいは単位元や逆元が存在するか、によって分類されるだけのこと。例えば、減算において、自然数系ではマイナスになって系を飛び出す可能性があるが、整数系では系に留まることができる。こうした抽象化の成果によって、数の概念を自然数、整数、有理数、実数、複素数へと拡張させてきた。そして今、数の概念に多項式が結びついたからこそ、複雑な演算系を定義することができる。言い換えれば、用途に応じて都合よく演算系が選べるわけだ。
さて、具体的な系を見ていこう。
体は、公理化すると非常にややこしいが、簡単に述べると、加法においてアーベル群で、乗法において結合法則が成り立つと同時に単位元が存在し(零元以外では逆元も存在する)、乗法と加法の間で分配法則が成り立つような集合である。ここで重要なのは、体が加法と乗法において定義されることで、とりあえず実数体か複素数体と考えて差し支えなかろう。
群は、結合法則が成り立ち、単位元と逆元が存在する集合で、さらに交換法則が成り立てば可換群、すなわちアーベル群となる。
環は、体の条件と少し似ていて、加法においてアーベル群で、乗法において結合法則が成り立つと同時に単位元が存在し、乗法と加法の間で分配法則が成り立つような集合である。環はその名からして、巡回群との関係を匂わせる。
また、半群というものもあって、群の中で逆元が存在しないものを言う。環も、乗法において半群と言うことができそうか。
ところで、演算系において、逆元が存在するかという問題は非常に大きい。特に、行列式の乗算では、掛ける順番が問題となる。そこで、左右のどちらから掛けても単位行列になるような環、すなわちイデアルが登場する。本書は、体上のベクトル空間を自己準同形環上の加群と見なすと、都合がいいと助言してくれる。

2. クラーメルの法則
クラーメルの法則は、行列式と連立一次方程式を対応させる概念としてよく知られる。その鍵は一次独立にある。今、A1, ..., An を体Kn の列ベクトルとし、次の関係があるとする。

  det(A1, ..., An) ≠ 0

B を同じく Kn の列ベクトルとし、Kの元 x1, ..., xn について、次の関係があるとする。

  x1A1 + ... + xnAn = B

すると、j = 1, ..., n について、次式が成り立つという。

  xj = det(A1, ..., B, ..., An) / det(A1, ..., An)

尚、分母はAの行列式、分子はAのj列をBで置き換えた行列式。

3. バンデルモンドの行列式
バンデルモンドの行列式は便利そうな形をしている。実は、画素の差分を求めるような処理で、これを知らないがために悔しい思いをしたことがある。

  Vn = 1x1... x1n-1
1x2... x2n-1
...
1xn... xnn-1

  det Vn = Π(xj - xi),  (ただし、i < j)

4. グラム = シュミット直交化法
まず、Vを正値スカラー積を持つ実数上の有限次元ベクトル空間とする。つまり、<v, v> ≧ 0 で、v ≠ 0 ならば、スカラー積は正値となるような関係。
そして、WをVの部分空間とし、{w1, ..., wm} をWの直交基底とする。つまり、<V, W> = 0 のような関係。
すると、W ≠ V ならば、{w1, ..., wm, wm+1, ..., wn} がVの直交基底となる Vの元 wm+1, ..., wn が存在するという。
これを証明する方法として、グラム = シュミット直交化法が紹介される。
まず、{w1, ..., wm, vm+1, ..., vn} がVの基底となるような、Vの元 vm+1, ..., vn が存在するとしているが、これは一般的には直交基底ではないだろう。そこで、直交基底を作ることを考える。それは、vm+1 から、w1, ..., wm へ沿って射影を減じていくというアイデア。
すなわち、

  c1 = <vm+1, w1> / <w1, w1>, ..., cm = <vm+1, wm> / <wm, wm>

として、次のようにおく。

  wm+1 = vm+1 - c1w1 - ... - cmwm

すると、任意の整数iに対して(1 ≦ i ≦ m)、

  <wm+1, wi> = <vm+1, wi> - <ciwi, wi> = 0

となり、wm+1 は、w1, ..., wm に垂直であるという。
さらに、wm+1 ≠ O。さもないと、vm+1は、w1, ..., wm に一次従属となってしまう。
そして、

  vm+1 = wm+1 + c1w1 + ... + cmwm

となり、vm+1は、w1, ..., wm+1 が生成するベクトル空間に含まれる。したがって、{w1, ..., wm+1} は、Wm+1 の直交基底ということになる。これが正規直交系ならば、もっと幸せになれそう。

5. ハミルトン = ケーリーの定理
これは、固有値の概念の一つで、線形写像Aに対応する固有値{λ1, ..., λn} があるとすると、その特性多項式は次のようになるという。

  P(A) = (A - λ1I)(A - λ2I)...(A - λnI) = 0

これは、正方行列の性質として注目しておこう。

6. スペクトル定理
線形写像を、固有値全体の集合として眺める。この見方をスペクトルと言うらしい。
Vを有限次元ベクトル空間で、正値スカラー積を持つとする。対称線形写像 A: V → V において、v を零でないAの固有ベクトルとする。そして、w がVの元で、vに垂直ならば、Aw もまた v に垂直であるという。

  <Aw, v> = <w, Av> = <w, λv> = λ<w, v> = 0

となるから自明であると。また、Aの固有ベクトルからなるVの直交基底が存在するという。どうやら、これがスペクトル定理というものらしい。そして、ユニタリ作用素やエルミート作用素で、スペクトル分解すると、なんらかの解析ができるということであろうか???

7. 超平面と凸集合
超平面とは、二次元平面を多次元に一般化した概念である。つまり、n次元空間における超平面とは、次元が n - 1 の平坦な部分空間のことを言い、一つの超平面は全体空間を二つの半空間に分割することになる。
また、空間を分割する概念で、凸集合というものを紹介してくれる。凸集合とは、n次元空間において、二点 P, Q を結ぶ線分の集合である。そのすべての線分は次式で表される。

  (1 - t)P + tQ, 0 ≦ t ≦ 1

これは、ちょっと考えれば明らかで、一般的に書くと次のようになる。

  t1 + ... + tn = 1, 0 ≦ ti ≦ 1
  t1P1 + ... + tnPn

凸集合をEとすると、境界面はEの頂点集合 P1, ..., Pn の一次結合で表される。この一次結合の集合を Ec とすると、Ec もまた凸になるという。そして、Ec をEの凸閉包と呼ぶそうな。この時、境界をどのように扱うかが重要となる。要するに、境界を含むか含まないか。境界が曲線であれば、多角形の頂点を近づけることになるだろう。
クレイン = ミルマンの定理によると、境界Sにおいて閉、有界、凸集合であれば、Sはその頂点の凸閉包であるとしている。ただし、有限でない凸集合、例えば、閉じた上半平面などは、その頂点の凸閉包になるとは限らないという。開いた凸集合も、その頂点は凸閉包になるとは限らないという。クレイン = ミルマンの定理は、この厄介な二つのケースを除いて、難点が残らないように述べているという。

2013-04-14

"マックスウェルの悪魔(新装版)" 都筑卓司 著

科学者たちが自然法則に魅せられるのは、そこに対称性の美があるからであろう。大概の物理法則には、可逆性や回帰性といった基本性質がある。
しかし、熱力学第二法則だけが、不可逆性を主張する。実際、目の前の多くの物理現象や社会現象が不可逆性を見せやがる。太陽熱で氷を沸騰させることができても、逆に凍らせることはできない。ボールを自由落下させても、地面との衝突熱でエネルギーが奪われ、元の位置に跳ね返ることができない。生き物は、常に栄養分を吸収しながらもなお、若返りの道は閉ざされている。さらに、歴史は進む一方で、知識や情報は蓄積される一方。おまけに、精神エネルギーの損失が大きく、群衆は惑わされる一方。余計な知識を忘れ去れば幸せにもなれろうが、その選択でいつも誤る。記憶ってやつは、せめて時系列に順序正しく失われれば可愛げもあるが、忌まわしい過去ほど強く残りやがる。経済現象では、利率がマイナスになるのを見たことがない。これが欲望のバロメータかは知らん。こうした不可逆現象に介在する物理量が、時間とエントロピーってやつだ。
ちなみに、アインシュタインは、エントロピーはすべての科学にとって第一の法則であると語ったとか、語らなかったとか。エントロピーを研究したボルツマンやエーレンフェストが自殺したのは、不可逆性の矛盾を嘆いてのことかは知らん。

はたして不可逆性は、宇宙の真理なのか?例えば、箱の左半分に1気圧、右半分に2気圧の同じ気体が入っているとする。そして、中央の仕切りを外したらどうなるか?そりゃ、時間が経てば1.5気圧になるだろう。温度差、圧力差、濃度差のある気体が混合すれば、均等化の方向へ動く。しかも、再び分離することはない。そこで、電磁気学を確立したジェームズ・クラーク・マクスウェルは、ある思考実験を提起した。もし量子の世界に、エントロピーを減少させることができる小人たちがいたらどうだろうかと。無秩序へ邁進するものを秩序へ引き戻そうとする何かが存在したらどうだろうかと。その正体が、ダークマターとか呼ばれる暗黒物質にあるかは知らん。ただ、箱の中の気圧は、あくまでも平均値であって、比較的温度が高く、速度の速い分子が混在している。激しい運動をする分子は、中央の仕切りに衝突する確率も高くなるだろう。そこで、中央の仕切りを分子が衝突した時に一方向に弁が開く仕掛けにすれば、片方には気圧の高い分子が集まるはず...なーんて考えを披露してくれる。だが、弁に衝突した分子が間接衝突しているかもしれないし、比較的温度が高いかどうかなんて判別のしようもない。なにやら、この思考実験は悪魔じみている。
だからといって、不可逆性が真理だと無条件に受け入れられるだろうか?真理が心地良いものだとすれば、小悪魔こそ真理かもしれないではないか。たいていの教科書には、エントロピーはただ増大する!とだけ記述されるが、これを自明と言い切れる人は宗教家だけかもしれない。とはいえ、覆水盆に返らず!...後悔先に立たず!...空けたボトルにおとといおいで!...などと囁かれるのは、やはり人間はそれを真理だと薄々気づいているからではないか?いや、水と油のごとく最初から交わらないものもある。人間社会では、政治は凡庸化しているように映るが、生活様式や思想観念は多様化している。気体のような分子ではなく、意思を持った個体の集まりであれば、民主主義が機能するかは知らんが...
いずれにせよ、熱力学や統計力学の観点から眺めると、複雑化、乱雑化、均等化、多様化への推移、あるいは運命の片道切符といったものは、すべてエントロピーで抽象化できそうな気がする。熱力学の法則は、空想世界から現実世界に引き戻してくれる役割を担っている。一瞬で燃え上がる愛情熱は一瞬に冷める理性熱と相殺する。これが熱力学第一法則。そして、愛情の縺れはますます混沌へと向かう。これが熱力学第ニ法則。おまけに、何がしらの憎悪熱が残り、けして絶対零度まで完全に冷めることはない。これが熱力学第三法則。おっと!いつのまにか小悪魔について語っている。熱力学とは、夜の社交学であったか。

ところで、時間には親しみがある。だからといって、これを説明することは至難の業だが、ちょっとだけ頑張ってみるか...
物理現象を観測するとは、人間が認識することを意味する。つまり、純粋な物理系に、観測系が加わるということ。この統合環境は、やはり物理系を成す。これは、はたして純粋に物理現象を観測していると言えるだろうか?この問いは、不確定性原理を匂わせている。つまり、観測する行為そのものが、自己矛盾を孕んでいる。そう、人間が認識するという行為そのものが...
いまだ人類は、絶対的な価値観を構築できないでいる。相対的にしか認識能力を発揮できないとなれば、何かと対比しながら認識するしかない。そして、過去の経験と未来の希望との狭間で、現在の価値観を構築することになる。過去の経験は知識の選択という形で蓄積され、未来への希望は妥協や絶望という形で具現化される。ただ、人間は、時間の矢ってやつが一度放たれると戻ってこないことを、経験的に知っている。おそらく認識能力を持つ生命体は、「認識空間 + 時間」という次元の中に幽閉されるのであろう。
ならば、観測という行為を放棄したらどうだろうか?無認識こそ真理ということはないだろうか?もし時間に可逆性があるとしたら、記憶のメカニズムまでも逆戻りするだろうから、逆行していることさえ気づかないのではないのか?時間の収支が常に赤字なるのは、欲望という認識が働くだけのことではないのか?時間とは、認識の産物に過ぎないのかもしれん。そして、エントロピーもまた、時間に幽閉されているだけのことかもしれん。人間と時間、どちらが悪魔なのやら。人間は時間に魂を売ったのか?ファウスト博士がメフィストフェレスにしたように...
「地球には、バクテリアかなにかが繁殖するのが本来の姿であり、人間とは突然変異によってでき上がってしまった宇宙の変わり種だという説もある。偉大なる反エントロピーの創造者は、一方では鼠や昆虫やバクテリアのように、ながく生存する能力のない、か弱い動物なのであろうか。頭脳が発達したということが、かえって弱点であり、情報量を増やすという自滅行為のほか脳のない破綻者だろうか。」

1. 永久機関
人類は、古代から永久機関への夢を描いてきた。不老不死を求めるがごとく。金利所得だけで贅沢三昧という考えは、古代錬金術から受け継がれる思考原理で、永久享楽の欲望からきている。そして、人類は仮想社会の中に多様な価値を見出してきた。経済もまた、価値差益の循環機関として機能する。ただ、経済循環はしばしば頓挫する。金融危機とやらで。物理学が等速運動を証明し、振り子の動きを観察すれば、永久機関なるものが存在すると信じても不思議ではない。しかし、熱力学は、永久機関の存在をきっぱりと否定する。理想機関とされるカルノーサイクルは、絵に描いた餅というわけか。
さて、永久に運動を繰り返すとはどういうことか?機関系のエネルギーを外部に漏らさず、内部循環で完結するということか?そうだとすると、機関系からエネルギーを取り出すという時点で、外部との接点を持つことになるではないか。そもそも、外部系と接点を持たずに運動を開始することは可能であろうか?永久機関とは、無から有を創出しようとする企みということになりそうだ。なんらかの損失エネルギーが生じるならば、埋め合わせのエネルギーを与え続けなければならない。はたらけど、はたらけど猶わが生活楽にならざり、ぢっと手を見る!とは、そういうことであろうか。地球には太陽系との接点があり、人間社会にも自然との接点があり、こうした機関系はいつか破綻するだろう。では、宇宙空間は外部との接点があるのだろうか?接点がないとすれば、永久に内部循環する可能性があるのかもしれない。

2. エルゴード仮説と情報理論
エントロピーを研究する学問は、統計的にあるいは確率的に分析して本質を見極めようとする。圧力、温度、体積などはマクロ的な統計量であって、物理学の主役であるエネルギーがそういうものである。電圧、電流、電力にしても、個々の電子を観察したものではない。集団とは、どこかに反抗分子を抱えているものだ。個々の粒子を追ってもあまり効果が得られないとなれば、物理量のエルゴード性を観察することになる。ボイル・シャルルの法則にしても、アボガドロ数 N = 6.0 x 1023個という分子の数が非常に多い場合の関係を示している。その意味では、政治学やマクロ経済学と似ている。ただ、群衆の多数決が真理の方向性を示しているかは知らん。尚、エルゴードとは、ギリシャ語のエルグ(仕事)とオドス(道)をくっつけた造語だそうな。
さて、多くの物理現象は、離散的である。沸点や融点がそうだ。キュリー点では、ある温度で強磁性体は常磁性体に転移する。超伝導現象では、金属が超低温になると電気抵抗がゼロになる。単振動をする原子のエネルギーでは、hν の0.5倍、1.5倍、2.5倍...の離散値になる。尚、hはプランク定数、νは振動数。人間社会では、群衆エネルギーがある閾値を超えた時に爆発する。
では、なぜ物理現象は離散的なのだろうか?情報理論の父クロード・シャノンは、著書「通信の数学的理論」の中で、情報の本質は離散性であることを匂わせた。エントロピーの正体とは、ある種の情報を意味するのか?確かに、出鱈目の度合いという点から、エントロピーと確率、あるいは情報量と相性が良さそうだ。実際、エントロピーSは、次式で表される。

  S = k log W  (W: 事象やエネルギー状態の数, k: ボルツマン定数)

この式は、まさにシャノンの示したビットの概念とそっくり。エントロピーが増大するしかないとすれば、人間社会が情報に圧殺されるのも道理というものか。

3. 太陽の表面温度 6000K の系
太陽光は、湯を沸かすことができるほど、凄まじいエネルギーを持っている。供給されるエネルギーは、距離の二乗に反比例して小さくなるとはいえ、やはり直接浴びると健康には悪い。地表に到達する時は気温と調和されて心地良い温度となるものの、絶対温度6000度の系にあることは確かなようだ。
地球が太陽系の族である限り、太陽の放射線で決まる温度というものがあるそうな。放射線で決まる温度ってなんだ?熱い物体は放射エネルギーを出す。ただし、色つきの物体は特定の波長しか放出しないので、ここでは黒い物体としよう。黒体では、ある温度でどのような波長のエネルギーを多く出すかが決まっているという。発光体の温度が上がると、放射エネルギーも大きくなり、大きな振動数の光をたくさん放出するだろう。そして、熱をよく吸収する地上の物体は、潜在的に太陽の表面温度6000Kまで上昇できるというのか?どうやら、そうらしい。太陽方向に垂直な地上面は、1平方センチあたり、1分間にほぼ2カロリーの熱および光のエネルギーをもらっているという。太陽定数と呼ばれるやつか。レンズで黒い紙が燃えても、太陽光で火事になっても、不思議はないというわけだ。しかーし、それを言い出したら、太陽系だって、どこぞの恒星系の電磁波を浴びているだろう。オルバースのパラドックスのような無限エネルギーに曝されているってことにならないのか?
それはさておき、太陽よりもはるかに弱い発光天体が、ほどよく近くにあるとしたらどうだろうか?太陽と同じようにエネルギーを吸収して、地球環境が維持できるだろうか?それは無理だそうな。エネルギー総量が同等というだけでなく、そのエントロピーが小さいということも重要な要因だという。ほどよく近い仮想天体では、エネルギーの偏りが小さいので、エントロピーが極めて大きいという。エネルギーのゆらぎが大きいことが重要ということか。太陽光線には豊富な紫外線が含まれている。だからこそ植物は光合成をし、自分の成長の素材となる炭水化物を作ることができる。エネルギーにもメリハリが必要ということであろうか。いつも飽和状態では活性化されない。たまには忙しすぎることも、暇すぎることも必要であろう。多感だから様々な反応を感じ、創造力が増すのかもしれない。
しかし、もし地表が6000Kまで上昇したら、逆に太陽に向かって熱放射されるだろう。そうなると、太陽と地球の互いの存続はどうなるのだろうか?やはり、愛情熱や憎悪熱の強い相手は、軽く受け流すぐらいでちょうどいい。

2013-04-07

"コンピュータグラフィックス理論と実践" James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes 共著

マンデルブロのフラクタル幾何学では、数学に裏付けられた抽象画に魅せられた。惚れっぽい酔っ払いは、CG芸術に惹かれる。とはいえ、なにせド素人!CG技術が概観できそうなものを探していると、ある専門家からこの本を薦められた。ちと古いが、この分野の教科書的な存在で、学生向きにも書かれているそうな。しかーし、1万5千円を超える値段にたじろぐ。図書館へ見物に行くと、千ページを超える分厚さにたじろぐ。
ところで、障害が大きいほど燃える!というのは本当であろうか?愛の場合はそうかもしれん。だが、速読術は速愛術のようにはいかんよ...

本書は、ソフトウェアとハードウェアの両面から議論される。その網羅する範囲は驚異的で、もう満腹!吐きそう!ソフトウェア面では、対話型インターフェースから、幾何変換、3次元投影法、可視面の決定における数学的方法論に、曲線や曲面の補正、色彩処理やシェーディングといったフィルタリング理論など、その技法とアルゴリズムが検討される。ハードウェア面では、画像操作と記憶メカニズムに、パイプラインや並列処理といった基本的なアーキテクチャが検討され、おまけに、SIMD や MIMD にまで議論が及び、高性能なGPUの必要性を感じさせる。メモリ資源が十分確保できれば、レイヤー毎のキャンバスをメモリ上に展開しておくことで、表示性能を向上させることができるだろう。そして、replace, and, or, xor といった単純な論理演算がサポートされるだけでも、かなりのことができそうだ。この分野は、メモリ容量、演算性能、高精細な表示デバイスといった十分なリソースが前提されるというわけか。コンピュータグラフィックスとは、ハードウェア資源の制約からソフトウェアを開放してきた歴史とすることができそうだ。それは、心理的リアリズムの追求の歴史とでもしておこうか。

  SIMD: Single Instruction Multiple Data
  MIMD: Multiple Instruction stream, Multiple Data stream

デスクトップの概念は、いまや仮想空間へ誘なうメタファのような存在となっている。その思想でよく耳にするのが、WYSIWYG(what you see is what you get)で、見たまんまの操作性に則るということ。これが対話型GUIの基本であろう。アイコンのデザインひとつとっても、設計センスがうかがえる。
しかし、良いデザインは、高精細な表示デバイスとセットで、より説得力を持つ。高精細ディスプレイだからこそ、斜線や曲線の処理を疎かにはできない。ドットが長方形に配列されれば、最も原始的な処理ではアンチエイリアシングが重要となる。画像の合成や結合などで用いるクリッピング処理では、キャラクタが背景に溶け込むような境界処理も必要となる。
表示デバイスの性能は、ドットの繊細さとアドレス指定能力で決まるという。ドット間隔がドットサイズよりも小さく指定できれば、それだけ柔軟性を与える。もちろん色階調も欠かせない要素だ。ちなみに、知人のデザイナーは、画面と印刷の色の微妙な違いが気になってしょうがないとボヤく。ディスプレイが違うだけでも微妙に色が違う。Webデザイナーともなると、そんな事まで配慮するのだろう。例えば、自動車メーカのサイトで、車体に微妙な光源処理を施しているのは、実物色との違いを誤魔化しているのかは知らん。
また、マッピング技法には、MIP という概念があるという。"multum in parvo"の略で、多くのものが小さな場所にあるという意味だそうな。その着想は、ウェーブレット変換に通ずるものがある。領域別にフィルタリングのレベルや演算方法を変えながら、線形補間によってスムージングするという考え方はあるだろう。そして、画像の領域を幾何学的に認識するような仕掛けも欲しい。今のところ人間がやる方が現実的かも。
心理物理学ともなれば、色相、彩度、明度が精神に与える影響を検討する。光の波長に対する視感効率関数というものがあると聞く。色彩のエネルギースペクトルと刺激量には、なんらかの関係がありそうな気がする。エネルギー分布関数を考慮すれば、ある心理状態を呼び覚ますこともできるかもしれない。ちなみに、色の知覚に関するものに、三刺激理論というものがあるそうな。網膜が、赤、緑、青の光にピーク感度を持つ3種類のセンサーを持っているという仮説だそうだが、これが三原色と関係するかは知らん。デザイナーは、数学的に編み出した色彩関数のようなものを直感的に知っているのかもしれない。プロフェショナルとは、素人の想像も及ばない領域で生きているものであろう。

ところで、むかーしから疑問に思っている事がある。なぜ走査線は横方向なのだろうか?ラスタースキャンが主流なのはブラウン管からの名残りと聞いたことがあるが、なんとなく疑わしい。タイプライタやラインプリンタも、文字単位の走査だけど、やはり横方向ではないか。対して、ベクタースキャンは、とんと聞かない。オシロスコープなどの測定器で見かけるぐらいか。心臓の波形モニタもそうか。尚、生体情報モニタと呼ぶらしい。
TFT などはスイッチのお化けなんだから、VRAMのランダムスキャンでもよさそうなもの。いや、通信効率が悪いか!ドライバの対応も辛いか!
長方形の画面を全スキャンしようとすると、走査線は横か縦になるのだろう。人間にとって四角形が自然なのか?インテリアの形状はだいたい四角形だが、貝殻を見ていると、螺旋の方が宇宙則に適っていそうな気もする。ただ言えることは、どんなスキャン方式を用いようが、今のところ、三次元空間を二次元平面に投影することに変わりはないということ。そう、いかに人間の眼を誤魔化すか、これがコンピュータグラフィックスの真髄であろうか。
今後、ディスプレイの大画面化と高精細化はますます進むであろう。解像度では、4KウルトラHDに突入しつつある。過去の画像データも、品質の陳腐化が目立つであろう。ピクセルデータでは、データ処理がかさむことになる。となれば、ベクタデータが見直されることもありうるかもしれない。GUIは、まさにゲシュタルト心理学の世界にある。いや、人の眼が脳を誤魔化すと言った方がいいか。

1. SRGP と SPHIGS
本書でちと気になるのが、SRGP と SPHIGS という二つの API を基準に書かれていることである。OpenGL が対象ならば言うことなしだが、関数群を眺めるだけでもだいたいの実装イメージが見えてくる。
SRGP は、QuickDraw と Xlib の2D整数パッケージの特徴を組み合わせたものだそうな。その制約では、整数座標系なので浮動小数点を要求するような精度や範囲には向かない、アクション履歴を持たないので他のプログラムから損傷を受けても再表示できない、あるいは三次元空間をサポートしていない、といったことがあるという。
そこで、三次元をサポートする高度な API として、SPHIGS が紹介される。SPHIGS は、PHIGS をベースに、3D浮動小数点パッケージの基本的な特徴に階層的な表示リストを加えたものだそうな。注目したい特徴は、データベース構造を採用していることである。オブジェクトデータ構造が、データベースによる階層ツリー構造というのは、古い時代にしてはやや驚きか。また、2Dの画面空間ではなく、抽象化された3Dワールド座標系で動作するという。つまり、ピクセルの直接操作はサポートされないとのこと。SRGP は、画面上のピクセル操作のために持ち出しているわけか。それぞれのグラフィックスパッケージには特徴と用途が異なり、万能なものは存在しないということであろう。
それにしても、この手のAPIでいつも悩まされるのが、標準座標系はどうなってんの?ってことだ。OpenGL と DirectX でも右手座標系と左手座標系で違う。この業界の住人は不便を感じないのだろうか?それとも、座標系に柔軟性を持たせた方が想像空間が拡がるということであろうか?

  SRGP: Simple Raster Graphics Package
  SPHIGS: Simple PHIGS(Programmer's Hierarchical Interactive Graphics System

2. プリミティブなアルゴリズム
最も原始的な技法に、二次元のアンチエイリアシングを持ち出す。それは、斜線や曲線に発生する階段状のギザギザ(ジャギー)を目立たなくする手法である。そして、クリッピングアルゴリズムとスキャン変換アルゴリズムを検討している。
むかーし、この実装で悩んだことがある。小型システムでは、CPUの能力やメモリ容量が十分ではないので、演算支援回路を装備することになる。今では、ソフトとハード支援部の役割分担も随分と変わってはいるが、小型化の欲求は納まりそうにない。例えば、昔の自動車のバックモニタなどは、機能は単純で斜線と曲線に対応すればよかった。だが、これが結構悩ましい。増分アルゴリズムや補正アルゴリズムで、単純な近似ではうまくいかない。四捨五入計算にしても、ピクセル数が多くなると処理時間は馬鹿にはならない。
ここに紹介される古典的な中点線分アルゴリズムは感動モノ。というより正式名を知らなかった。その名を Bresenham(ブレゼンハム)のアルゴリズムという。中点アルゴリズム自体は単純で、線分より実際の点が上にあるか下にあるかを判定して近似する。ただそれを、整数演算のみでやってやがる。ラインをスキャン変換するのに、整数決定変数を計算して符号のみをチェックし、数理線に最も近いピクセルを選択することで割り算を避けるという考え方である。当時の実装でも、これに近いことをやった。ただ、符号位置は数学的ではなく実験的に探ったものだ。画像処理では、クリップ矩形のエッジから始めて、勾配の関数として線分の輝度を変化させるといったことをやる。境界演算を回路で実装し、輝度調整をプログラムがやることによってスムージングを実装する。こういうプリミティブな技術は経験的に蓄積されるようで、付き合う開発部隊によって様々な文化が見て取れるから面白い。
また、ラインのクリッピングでは、使用頻度の高い Cohen-Sutherland アルゴリズムと、パラメトリック線分クリッピングアルゴリズムが検討される。ここで鍵となるのは交点計算である。
Cohen-Sutherland アルゴリズムでは、予め交点計算が必要かどうかを判定し、端点座標からエッジに対する位置、すなわち上下、左右を判定するといったイメージ。まず、クリップ矩形のエッジの周辺を9面に拡張し、それぞれの領域に4ビットのコードを割り当てる。そして、第1ビットを (ymax - y)、第2ビットを (y - ymin)、第3ビットを (xmax - x)、第4ビットを (x - xmin) の計算を符号ビットとして位置判定をする。
パラメトリック線分クリッピングアルゴリズムでは、Beck/Liang-Barsky のアルゴリズムが紹介される。パラメトリックでは、線分がクリッピングエッジを無限に延長した線と交差する点を考慮するという。関数的に求めるイメージであろうか。そのパラメータは、次式の公式が元になっているという。

  P(t) = P0 + (P1 - P0)t

P0, P1 は線分の端点。線分の延長関数 P(t) と、エッジ上の任意の点 PEi において、ベクトル P(t) - PEi と、エッジの外向法線ベクトル Ni との関係を考察する。
そして、内積、Ni・[P(t) - PEi] の値によって、点がどの領域にあるかを判定するという。
他には、文字のクリッピング、Sutherland-Hodgman 多角形クリッピングアルゴリズム、重み付けエリアサンプリング、Gupta-Sproull のスキャン変換アルゴリズムなどが紹介される。

3. 幾何変換と同次座標系
二次元でも、三次元でも、幾何変換では、平行移動、スケーリング、回転が基本になる。むかーし、座標系の行列表現で最初に戸惑ったのが、座標系の拡張であった。それは、演算効率を高めるためのトリックで、直交の概念が有効だということ。二次元変換系は、3 x 3 のマトリックス、三次元変換系は、4 x 4 のマトリックスで表現すると、極端に演算量が減る。尚、以下の行列式は数値演算言語 octave 風に表記している。

二次元変換系では...
  平行移動: [x'; y'; 1] = [1 0 dx; 0 1 dy; 0 0 1][x; y; 1]
  スケーリング: [x'; y'; 1] = [Sx 0 0; 0 Sy 0; 0 0 1][x; y; 1]
  回転: [x'; y'; 1] = [cosθ -sinθ 0; sinθ cosθ 0; 0 0 1][x; y; 1]

三次元変換系では...
  平行移動: [x'; y'; z'; 1] = [1 0 0 dx; 0 1 0 dy; 0 0 1 dz; 0 0 0 1][x; y; z; 1]
  スケーリング: [x'; y'; z'; 1] = [Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 0 1][x; y; z; 1]
  回転: [x'; y'; z'; 1] = [cosθ -sinθ 0 0; sinθ cosθ 0 0; 0 0 1 0; 0 0 0 1][x; y; z; 1]

4. 平面幾何投影
三次元オブジェクトと二次元表示との間の不整合性を埋めるのに、投影を用いるのは画家と同じ。平面幾何投影は、透視投影と平行投影に区分できるという。その違いは、投影面と投影中心との位置関係にある。投影中心が1点に収束する場合は透視投影、投影面と平行な場合は平行投影となる。透視投影は、平行線が無限遠点の消失点に収束し、写真や人間の可視系の表示効果と類似しておりリアリティを感じさせる。平行投影は、各軸方向に一定の距離を保つ効果があり、リアリティに欠けるものの正確な寸法表示ができる。
さらに平行投影は、投影線と投影面の角度の関係によって、正投影と斜投影に分類されるという。正投影は、投影線と投影面の角度が垂直であり、最も一般的な方法は、正面、上面、側面の投影であろう。組立図など工業製図によく用いられるが、この図面から実物をイメージするのはかなりの熟練を要する。
また、軸測正投影という手法があるそうな。主軸に垂直でない投影面を利用して、オブジェクトのいくつかの面を同時に表示するという。透視投影に似ているが、奥行きの短縮度合いが投影中心からの距離に関係なく、均一である点が異なる。
等角投影は、一般によく用いられる軸測投影の一つだそうな。投影面垂線は各主軸に対して等角を形成する。等角投影は、三次元の3つの軸が等しく短縮されるという特性を持ち、同一尺度での軸に沿った寸法測定が可能になる。
斜投影は、軸測投影を用いて、正面、上面、側面の正投影を組み上げたもの。その代表に、カバリエ投影とキャビネット投影が紹介される。カバリエ投影は、投影方向が投影面との傾きに対して、奥行きが実寸で表される。一方、キャビネット投影は、奥行きが短縮されるために、よりリアルに見える。なるほど、リアルとは眼を欺くという意味か。

5. 曲線と曲面の表現法
滑らかな曲線や曲面を生成するのは、実に難しい。現存するものでは数学的に記述できないものが多くある。よって、数学的に記述できる平面、球、他の形状を組み合わせて近似することになる。本書では、一般的なサーフェスモデリングが紹介されるが、この領域は広範すぎる。ここでは、ポリゴンメッシュとパラメトリック三次曲線について触れておこう。
ポリゴンメッシュは、エッジ、頂点、多角形(ポリゴン)が接続された集合で、2つの多角形が各エッジを共有する。各ポリゴンは頂点座標のリストで表現される。

  P( (x1, y1, z1), (x2, y2, z2), ...,(xn, yn, zn) )

1つの頂点と、それに付帯するエッジ関連のすべてをドラッグするには、頂点を共有するポリゴンをすべて検索する必要がある。最も効率良くやるには、N個の三次元座標をソートすることだという。それでも、N log2N 回の処理を要する。四捨五入のために、同じ頂点が若干異なる座標値を持つという危険性もある。まずは、エッジリストへのポインタでポリゴンを定義することを考えてみよう。メッシュのモデリング要素には、頂点、エッジ(線)、面、ポリゴン(多角形)、サーフェス(表面)がある。


例えば、4つの頂点 (V1, V2, V3, V4) を持つ図形において、エッジリストを使用して定義したポリゴンメッシュは、次のようなデータ構造になる。

  V = (V1, V2, V3, V4) = ((x1, y1, z1), ..., (x4, y4, z4))
  E1 = (V1, V2, P1, null)
  E2 = (V2, V3, P2, null)
  E3 = (V3, V4, P2, null)
  E4 = (V4, V2, P1, P2)
  E5 = (V4, V1, P1, null)
  P1 = (E1, E4, E5)
  P2 = (E2, E3, E4)
  ただし、V; 頂点(vertice) E; エッジ(edge)、P: ポリゴン(polygon)

次に、頂点リストへのインデックスを用いて定義すると、データ構造はコンパクトになる。

  V = (V1, V2, V3, V4) = ((x1, y1, z1), ..., (x4, y4, z4))
  P1 = (1, 2, 4)
  P2 = (4, 2, 3)

いずれにせよ、データ構造の整合性を保ちながら、複雑な画像処理を繰り返すのは大変であろう。3次多項式で定義できれば、ポリゴンメッシュのような情報量は必要ない。そこで、パラメトリック三次曲線の登場だ。曲線のパラメトリック表現を、  Q(t) = (x(t), y(t), z(t)) とし、3次多項式で定義すると。

  x(t) = axt3 + bxt2 + cxt + dx
  y(t) = ayt3 + byt2 + cyt + dy
  z(t) = azt3 + bzt2 + czt + dz
  ただし、0 ≦ t ≦ 1

T = [t3 t2 t 1] を用いて、係数行列を

  C = [ax ay az; bx by bz; cx cy cz; dx dy dz]

と定義すると。

  Q(t) = [x(t), y(t), z(t)] = T・C

Q(t)の導関数は、曲線のパラメトリック接線ベクトルである。

  (d/dt)Q(t) = (d/dt)T・C = [3t2 2t 1 0]・C
  = [3axt2 + 2bxt + c3ayt2 + 2byt + cy 3azt2 + 2bzt + cz]

三次関数を扱う具体的な方法では、エルミート(Hermite)曲線、ベジエ(Bezier)曲線、スプライン(spline)曲線などがある。エルミート曲線は、始点と終点、及び、始点の接線ベクトルと終点の接線ベクトルによって決定される。ベジエ曲線は、曲線上には存在しない2つの中間点を指定することによって、端点接線ベクトルを間接的に指定する。スプライン曲線は、複数の制御点をすべて通るが、B-スプライン曲線は、両端以外の複数の制御点は通らない。尚、ベジエ曲線やB-スプライン曲線は、描画ソフトでもお馴染みのやつだ。

2013-04-01

史上最強の哲人「じゃりン子チエ」

四月一日早朝。ベランダでぼんやりしていると、ランドセルを振り回す一人の少女が通りかかった。下駄を高々とならしながら呟く、その後ろ姿には、なにやら哲人の風格を漂わせている。

「ウチ、誰やと思うてるねん!ただの不良少女やないで、テツの子供やで!」
「おとなの相手して、いつも傷つくのは少女の方やねん!」

赤貧チルドレンと呼ばれ、小学生にして経営者、そして、父親の保護者。そこには憧れの少女像がある。おいらも、テッちゃんになりたい!そして、朝っぱらからホルモンと純米酒を喰らうのであった...

1. 不幸の法則
「うちのオバアはん、嫌なこと頭こぶりついたら運動したらええ言うとった。運動してくたくたになったら、嫌な事もくたくたになるんやて!」

オバアはん「長いこと生きてますとな、ほんまに死にたいちゅうことが何回かありますのや。そういうとき、メシも食べんともの考えると、ロクなこと想像しまへんのや。
おまけに、さむーい部屋で一人でいてみなはれ。ひもじい、さむい、もお死にたい、これですわ。
いややったら食べなはれ、ひもじい、寒い、もお死にたい、不幸はこの順番でやってきますんやで。」

ヨシ江「一人で生きてゆけるなんて思ってると、辛抱せなあかんときに辛抱がきかんようになったりもするんよ。」

地獄組のボス「おまえはチルドレンやから今の苦労が後々ビクトリーしちゃうこともある。そやけど、ワシらみたいに年がオールドしちゃうとなあ、もお人生のレースにカンバックできんのや。...
人間がびびる時はなぁ。なんか守るものがある時なんじゃ!」

2. 大物の悩み
テツ「わし!今、大物として悩んでるんや!」
チエ「どこが大物やねん!裸になって踊ったくせに!しらふで踊ってたん鉄だけや!」
テツ「しらふでやれるから大物なんや!酒飲まんとやれんような奴は根性なしや!」
  ...
テツ「知らんかった!大物て退屈やなぁ!ひょっとしたら、わし友達おらんようになったんとちゃうか。...
金がのうて退屈やったら、死にたなるなぁ!」

チエ「そやけど、悩んでるみたい!」
花井「悩んでるんやない。悩み方、知らんから困ってるんや!」
花井「なあ、なんとなく形がぎこちないやろ!」

チエ「ヤクザな金は身につかんてオバアはんがゆうとったど」
テツ「金を差別すな、バチあたりが」

テツ「女房に逃げられるのを恐れて男が勤まるかい!」
チエ「テツ、あんまりアホに自信持ってると風邪ひくど」

3. 猫の人間観察
小鉄「あり余るシアワセは、時として苦痛を伴うものなのさ!...
人間と付き合うと苦労するよ!」

小鉄「ヤクザ(テツ+お好み焼き屋) + 警察 = ?」
ジュニア「かっこがはいると難しいな、テツがお好み焼きをくいすぎると豚になるど。」
小鉄「それや!二人とも豚箱行きや!」