pineapple blog

Blog of Ichi Kanaya / 金谷一朗のブログ

Search

Twitter feed

Flickr Feed

Loading Flickr...

    More - Flickr

    Find me on...

    紐結び

    ロープの結びは想像力よりも記憶力のほうが重要な分野。結び方ひとつに先人の命懸けの叡智が詰まっている。

    ウサギとカメ

    ウサギとカメはそれぞれ大きな失敗をしている。ウサギは途中で休憩したことだが、カメはそもそもウサギと勝負したことが間違いだ。

    と、思っていたら、有名なウサギとカメの話には他のバリエーションがあるらしい。こちらのカメはウサギを見事に計略にかけている。

    TM Revolution のレボリューション

    ソロプロジェクト英語)は,たとえサポートスタッフがいたとしても「なんで個人なのにプロジェクト名つけてるの?」って聞かれるのがかつては相場だった.

    いまは,個人で複数のソロプロジェクトを持っていても不思議じゃないし,いちいち突っ込まれることもないだろう.

    浅倉大介さんはエポックなのかもしれない.ソロプロジェクトという言葉を普及させたという意味で.

    (僕は彼が博士くんだったころのステージを拝見したことがある.)

    相対論への道

    相対論への道 —- quaternion.PineappleDesign.org

    相対論への道(1)物理現象を時間と空間に分けて考えたのはガリレオ・ガリレイである。彼以前は、物理現象を時間で計るという発想はなかったようである。振り子時計がガリレオによる発明であることを思い出せば、当然かも知れない。

    相対論への道(2)ガリレオは、航行中の帆船のマストの先からボールを落とすとマストの根元に落ちることに何らかの理由を求めず、「宇宙はそのように出来ているのだ」と主張した。これをガリレイ相対性と言う。

    相対論への道(3)ガリレイ相対性と、当時ケプラーによって発見されたばかりの惑星の運動法則から、アイザック・ニュートンは画期的な法則を発見する。一つは万有引力(重力)の法則。ニュートンによると重力は質量によって生み出される.もう一つは運動の法則。

    相対論への道(4)巨視的に見て、我々が感じる力は二数類しかない。重力と電磁力だ。そのうちの半分をニュートンは体系づけたのみならず、運動の法則まで発見している。運動の法則は運動方程式と呼ぶ。

    相対論への道(5)運動方程式の主張はこうだ。物体に力を与えなければ、物体は等速直線運動をする。物体に力を与えれば、物体の運動量が変化する。運動量とは、物体の質量と速度を掛け合わせたものだ。ニュートンはまた「運動の変化のしにくさ」としての質量を定義した.

    相対論への道(6)運動方程式によると、物体の運動量の「時間当たりの変化率」は物体に加わった力に正確に比例する。この時間当たりの変化率という考え方はニュートンによって初めて明確にされた。ニュートンは時間微分を発明したのだ。

    相対論への道(7)ニュートンはもう一つ重要な考え方を残している。力や運動量(或いは速度)がベクトルであるということである。ベクトルは大きさの他に向きを持つ量で、足したり、何倍かにしたり出来るが、数ではない。

    相対論への道(8)ニュートンはガリレオ以来の時間と空間の厳密な区別を継承し、それぞれ絶対時間、絶対空間と名付けた。絶対空間はユークリッド幾何学そのもので、運動の問題は方眼紙の上に図を描くのと同じになった。

    相対論への道(9)ニュートン以降の問題は、不可思議な電磁現象に関する法則を見つけるだけだと誰もが思っていた。それは運動方程式や重力がそうであるように、絶対空間上の作図問題でなければならなかった。

    相対論への道(10)永久磁石が地球の南北を向く性質を持つことはガリレオ以前から知られていたし、静電気の存在も知られていた。雷が静電気と同じ性質を持つことさえベンジャミン・フランクリンの実験によって確かめられていた。

    相対論への道(11)シャルル・ド・クーロンは電荷の存在を予言し、電荷の間にどの様な力が働くかをクーロンの法則として発表した。例えば、プラスチック製の定規をセーターの擦り付けて、そのあと頭の上に持って行く遊びは電磁力(クーロン力)のおかげである。

    相対論への道(12)その後電磁現象は無数に見つかることになる。ハインリヒ・ヘルツは電波を発見し、グリエルモ・マルコーニは無線通信機を作った。アンドレ・マリ・アンペール(アンペア)は電荷の流れ(電流)が方位磁針の向きを変えることを発見した。

    相対論への道(13)無数に見つかる電磁現象を、ジェームズ・マクスウェルが後にマクスウェル方程式と呼ばれる一揃えの方程式にまとめ上げる。その方程式は電気と磁気に関するもので、電気と磁気と光が同じものであることを示唆していた。

    相対論への道(14)ここに困った問題が持ち上がる。マクスウェル方程式の主張は、ガリレイ相対性と相入れないのだ。ガリレイ相対性によれば、物理現象は足し算で合成できる。方眼紙の上に、直線を繋ぎ足していくイメージだ。

    相対論への道(15)マクスウェル方程式が予言する電磁現象は違う。もし足し合わせを実行しようとすれば、絶対空間である方眼紙か絶対時間である時計のほうを歪めなければならなくなってしまうのだ。ローレンツは方眼紙の歪め方を発見し、ポアンカレは時計の遅らせ方を発見した。

    相対論への道(16)一方,アルベルト・アインシュタインはローレンツたちとは独立にマクスウェル方程式に取り組んだ。彼は最初から絶対空間,絶対時間という考え方を捨てて、時間と空間が一体になった時空間というものを考えていたようだ。

    相対論への道(17)時空間で考えれば、マクスウェル方程式は新しい相対性に従う。この相対性はアルベルトによって特殊相対性と名付けられた。あらゆる慣性系(つまり特殊な系)から見てマクスウェル方程式がその形を変えないからだ。

    相対論への道(18)若きアルベルトの師匠であったミンコフスキーは、特殊相対性に見事な幾何学的解釈を与えた。簡単に言うと、横軸に空間、縦軸に時間を取る。運動する系は、時空間の回転である。この回転によって、時間と空間が混ざり合う。

    相対論への道(19)ミンコフスキー時空間では、ガリレイ相対性は単なる平行移動(つまり無変換)だが、特殊相対性は回転変換なのだ。(虚時間を導入することで回転変換になる。一般の時間を使った場合は押しつぶす一次変換。)

    相対論への道(20)ただアルベルトはこの理論に満足しなかったように思う。自ら特殊と名付けたこともその証拠かもしれない。理由は巨視的な力の一つである重力を考慮に入れられなかったからである。つまり、ニュートンとは反対側の半分しか満たしていない。そして両者はまだかち合ったままだった。

    相対論への道(21)一般相対論は特殊相対性を加速する系つまり一般系にまで拡張したものだ。なぜ加速系を考えると重力を考えることになるのか。アルベルトはガリレオのように「宇宙はそのように出来ている」カードを切る。

    相対論への道(22)アルベルトは「加速度と重力は区別できない」と主張する。これを等価原理と呼ぶ。そして加速系でも局所的には特殊相対性が成立すると仮定する。ニュートンは重力の原因としての質量と、運動のしにくさとしての質量を主張したが、アルベルトはその二つを同じ物にした。

    相対論への道(23)一般相対論では、場所によって時空間の回転の分量が異なると主張する。重力の大きなところは(つまりそれだけ加速しているところでは)時空間の回転の度合いも大きい。

    相対論への道(24)ニュートンが主張したとおり、重力は質量によって生まれる。質量があるところは時空間が歪む。この歪をアルベルトはリーマン幾何学を用いて記述し、アインシュタイン方程式としてまとめた。

    相対論への道(25)アインシュタイン方程式は、アルベルトが修正した重力の法則である。一般相対論によって、電磁力と重力は同じ枠組み(リーマン幾何学)の中で説明が可能になった。これが、物理に時間という概念を持ち込んだガリレオから時間という概念さえ疑ったアルベルトへと受け継がれた相対論への道である。

    What you need when you create an animation film

    Maya Yonesho

    • Strong topic
    • Suitable technique
    • Truth from the heart

    ヒロセのコネクタ

    日本の物づくりがどうのこうのと言う前に,一度見てもらいたいのである.

    ヒロセ電機のコネクタを.

    ヒロセのコネクタは「超」がつくぐらい高品質で,使う側にも作る側にも優しい.例えば一番有名な丸型コネクタのHR10シリーズの場合,ユーザはプラグをレセプタクル(ソケット)にあてがって「ぐりぐり」してはめることができる.Mini DIN で同じことをするのは地球外追放に相応しい犯罪行為だが,HR10では逆に推奨される使い方だ.

    また手はんだが本当にやりやすい.HR10の12ピンコネクタは標準的なMini DIN 8ピンコネクタの何倍も手はんだフレンドリーだ.

    つまり,オーバースペックなのだ.

    日本の電気系物づくりを象徴するTVと同じ.いやひょっとしたら携帯電話の中身のセラコンとも同じ.手はんだフレンドリーなんて時代錯誤も甚だしい.

    ...と,話だけ聞いた人ならそう思うだろう.

    でも,技術屋がもしこのコネクタを手にしたらきっと感じる.10個で1,000円のコネクタとは違う理由を.

    このコネクタにはLOVEがある.

    ユーザへのLOVE,デベロッパへのLOVE...だけじゃない.そこを流れるであろう何molものエレクトロンへのLOVEがあるのだ.

    LOVEだけでものは売れないし,惜しまれつつも姿を消して行ったテクノロジーも数多い.だけど,日本がTVを作れなくなっても,セラコンの品質が追いぬかれても,ひょっとしたらコネクタも売れなくなっても(信号伝達系が全て無線になればコネクタなんていらなくなる),このLOVEだけは日本人のHentai魂として受け継いで行きたい.

    LOVEにオーバースペックなんてないのだから.

    芸術を技術で囲い込まない

    駆け出しのころの米正万也さんが自作を川本喜八郎さん(人形劇三国志のひと)に送った時に返ってきた言葉.

    If you are making animation as your hobby, I can say “well done.” But if you want to be a pro, forget all your older works. Your next film will be your first film.

    芸術家は人と同じ事を出来ない.工学者は誰でも同じことができるようになってもらいたい(だから技術を開発する).

    以前そんな葛藤を感じたこともあった.でも,たしか中嶋悟さんだったと思うのだが,F1にセミオートマチックトランスミッションやアクティブサスペンション,果てはトラクションコントロールまで導入された頃,「もうドライバ(の技量が)いらないんじゃないですか?」という質問に対して「いや,戦いのレベルが上がるだけです」と答えられていたことを僕は思い出す.

    技術を囲い込めば数年はアドバンテージを確保できるかもしれない.でもわずか数年だ.(さすがにF1ではその数年が大きいので囲い込んでいただろうが.)そんな小さなアドバンテージよりも,技術をオープンにすることのほうがよほど新しい芸術のためになるんじゃないだろうか.

    というわけで,例えば Polyphonic Jump! のシミュレータ部分はオープンソースにしています.残りの部分も段階的に公開します.

    Core Video 解説ブログに投稿しました.

    学術ってなんだろう

    科学技術振興機構(JST)が発行した「文化を目指す創造型科学技術研究とその進め方」という研究報告書があるのだが,これがとても面白い.内容は元東大の原島博先生が研究統括をされていた戦略的創造研究推進事業(CREST)「デジタルメディア作品の制作を支援する基盤技術」研究領域の各研究代表者を原島先生がインタビューされるという構成なのだが,お役所の刊行物(と一括りにしては失礼なのだがどうか許されたい)としては驚くほど示唆に富んでいる.

    この研究領域は独立行政法人科学技術振興機構という科学技術をプロモートする政府系機関が,日本の工学と芸術を結びつけることを目的とした研究領域で,名だたる工学系研究者,芸術系研究者が名を連ねている.

    インタビュー中よく出てくるのが,工学系研究者と芸術系研究者のぶつかり合いなのだが,その中で工学系研究者がふと自分の立ち位置を振り返るシーンが必ず出てくる.

    工学って,科学なのか,技術なのか?

    僕はこの話題を見るといつも D. E. Knuth 博士を思い出す.工学と同じ概念はかつてartと呼ばれていた.artの語源となったラテン語arsに対応するギリシャ語はtechneで,これはtechniqueの語源になった.

    技術も芸術も「術」,人の手によって作られるもの,つまりartefactであり,それにいたるプロセスだ.そして,そのプロセスになにがしかの普遍性を求めようとする活動が学問だ.

    近代の(日本の)工学は,この立脚点をあまりに置き忘れていないだろうか.Artefactを作って,人を幸せにするという立脚点を.(基礎研究が主戦場の研究者はSFを書けばいい!)

    たぶん,医学・医術分野ではもう何十年も繰り返された議論だろう.たぶん我々も学ぶべきだと思う.

    世界を変えるには,まず自分から変わらなきゃ.

    printf considered harmful

    printf関数を使うのはもうよしたほうがいいんじゃないか.

    Sudo format string vulnerability

    このバグは、すごく簡単に言うと printf() 系関数を2段階かけた事に起因したバグです。printf() 系関数を多段に使うことは、セキュリティを考慮したコーディングとしては非常にまずいもので、
    絶対やるな
    と言っても構わないぐらい、危険な行為です。

    とは言うものの,printfの代替案が思いつかない.またprintf系関数を使う以上,それが多段階に使われることはよくあるだろう.文字列のフォーマットをsprintf関数でしたとして,その結果を印字をしたいときにもprintf系関数を使うことは便利なので,なかなか無くならないようにも思う.

    これは可変長引数をサポートするコンパイラ言語という事情からくる.可変長引数の場合引数チェックがいい加減になることと(コンパイル時にフォーマット文字列との静的なマッチングぐらいは出来る),スタックがプログラマの意図しない状態のままバイナリが実行されてしまうことだ.

    Pascalはこの問題に果敢に取り組んだ一例かもしれない.つまり,文字列のフォーマットなど端から諦めるのだ.引数は必ず右からスタックに積むし,印字系手続きであるWriteLnなどはビルトインだ.

    C++では«オペレータをストリーム出力用に割り当てることで,可変長引数を使わずにprintfのような(オブジェクトの出現順に同じ階層に識別子を並べるスタイルで)文字列フォーマットを可能としている.確かにprintfよりは呪文度が高いが,それは慣れの問題だろう.

    Objective-Cでは文字列のフォーマットは一旦NSStringをかませられるので(というか多段階処理が必要な場合はNSStringが必要なので),無茶なフォーマッティングは実行時に捕まえられる可能性がC言語よりは若干高い.もっともこれは注意が行きやすいというだけで,本質的な回避策にはなっていない.

    というわけで,身も蓋もない結論になるが,C言語以外が使える時はC言語以外を使え,というのが正解のような気がする.

    Toll-free bridge / 自由往来

    Mac OS X のWindows系OSに対するアドバンテージのひとつに,NeXTSTEP由来の(しかしかなり修正された)フレームワークの存在がある.このフレームワークは,気持ちいいほどにゆるい.

    例えば,あらゆる Objective-C コードから利用出来るファウンデーションライブラリとして,その名もFoundationというフレームワークがある.これは簡単に言えばC++におけるSTLのようなもので,言語に組み込まれていないが便利なデータ構造をライブラリとして提供するものだ.文字列や動的配列,辞書なんかがFoundationに含まれる.

    C++STLとFoundationの際立った違いは,そのゆるさにある.Foundationでは型チェックは実行時まで先延ばしされる.(類例を求めると旧Borlandの Turbo Pascal 6.0 が近い.)しかし,このゆるさは Objective-C の中だけにとどまらないのだ.

    AppleはこのFoundationとは他に Core Foundation というC言語向けのファウンデーションライブラリも提供している.実はこれがまたゆるい.どう言うことかというと,なんとObjective-Cオブジェクトをそのまま(型キャストだけで)Core Foundation 関数へ渡すことができるのだ.

    この仕組をAppleは toll-free bridge と呼んでいる.コスト無しで,川のどちら側へも行けるというわけだ.

    組織を作るときは

    F.K.

    組織を作るときは解散の仕方をあらかじめ考えておく

    人生には限りがある以上,どんな形であれ最終的には組織を去らねばならないし,自分で作った組織なら尚更その組織からの去り方,または解散の仕方を始めから考えておくべきだ.

    某大企業の社長が「ワシが耄碌したら言ってくれ,引退する」と従業員に語ったそうだが,そもそも耄碌してしまったら諫言を受け入れられる状態ではないわけだから,これは「ワシは自らは引退せんぞ」宣言に等しい.

    もしFacebookタイムラインが未来にメッセージを投稿できたなら,僕は将来の自分に「このプロジェクトを降りる時ですよ」とか「〜さんに権限を譲って引退しなさい」とかメッセージを残すだろう.あるいは,未来の自分宛に封書を書いておいてもいい.

    Core Video 解説ブログに投稿しました.

    Loading posts...