2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
リンクをコピー
記事をブックマーク
清水亮氏:なぜか知らないですけど、人生に影響を受けた本を3冊あげろということでしたので、3冊あげました。1つは『月刊アスキー』1992年7月号。さっきも言いましたけれど。
これ、すごいなと思ったのは、この時代に、CGとかあんまりないわけですね。これ(表紙の写真)は実物です。モックアップ。この頃、月刊アスキーはめちゃくちゃ儲かっていて、毎月、広告だけで何億円もの利益を出していたのです。
中味はこんな感じなんですけど、(未来のパーソナルコンピュータは)プロジェクターを内蔵しているとかね。ページをペラペラめくりながら、これは透明なディスプレイなんだけど、めくると次のページがでてくるとか、すごい細かく書いてあって、書き込みもできるんですよ。
だから、元々enchantMOONの元ネタは、基本的にはこれなんですけどね。こういう夢みたいな情報端末というのが夢想できるんだというのが、1つ影響を受けた本です。
のちに、この当時の編集長だった遠藤諭さんという人に話を聞いたら、「当時の編集者は誰がやっていたのかあんまり覚えていないし、夢を壊して悪いけどあの特集はさほどがんばらなかった」と言われて、がっかりしました(笑)。
あとは似たような話でアラン・ケイさんのもので、『アラン・ケイ』(Ascii books)という本。
この本は日本語訳なんですが、重要な内容はネットで公開されています。たとえば、この「Personal Dynamic Media」という論文。これがパーソナルコンピュータの元ネタですからね。
アラン・ケイさんが考えたDynabookという、iPadの元ネタといわれたやつだったんですけど、あれはペーパークラフトなんですよ。実際にシリコンバレーのコンピュータ歴史博物館に行くと、あれのペーパークラフトが残っています。
こういう機械を作って、アラン・ケイさんは3,000人くらいの小学生、中学生、高校生とかにこれを使ってプログラミングを教えたそうです。実際に授業をやったりとか、こんなことができますよとかと教えたそうです。これはすごく刺激を受けましたよね。これって70年代ですからね。これが書かれた時代というのは、まだPC-9801とかも発売されていないんです。
この本に入っていたか忘れたけど、もう1つは「A Personal Computer for Children Of All Ages」。アラン・ケイさんの論文で、まだゼロックスにいたころのものなんですけど。これは、今、急速に、プログラミング教室を子供にしようなんていうキャッチフレーズで話題になっている本です。
これ、すごくおもしろいのは、アラン・ケイさんがシーモア・パパートというMITの研究者と話したあとで飛行機のなかでスケッチした、未来のコンピュータの図みたいなのがあるんですけど、これは実際に「こういうことをやっているんだ」という2人の会話とか書いてあるんですね。
これはなにをやっているかというと、重力シミュレーションなんです。男の子と女の子がDynabookを使って。Dynabookは、彼が考えたコンピュータ。(会場のiPad Proを手に取って)要するに、なれの果てがこれですよ。キーボードがついてなくてこっちになっちゃったのが、残念だといえば残念。Dynabookは、もともとペンもついていますからね。
Dynabookを持ち歩いて、この2人は一緒にコラボレーションしながらプログラミングを楽しんでいるんですね。「俺が宇宙船の動きを作るから、お前は重力の動きを作れ」みたいな感じで、一緒にプログラムしている。現在、ここまでできるのかといわれたら、微妙なんですよね。「もう1回ゲームする?」「これは簡単すぎるから、もっと実際の宇宙みたいにしようよ」とか、そういうことが書かれていたりするんです。
今できていないことが、しゃくだったので、これは僕のブログですけど、僕が自分で作ったMOONBlockを使って重力シミュレーションを作ってみたんですね。実際、意外とできるという(笑)。これくらいの重力シミュレーションもできるんですね。
実行すると。真ん中の赤いのが、なぜか地球なんですよ。宇宙戦艦ヤマトみたいな状況になっていますけど(笑)、このまわりの青いのが6分の1の質量を与えた衛星の候補で、それが最初ランダムに初速と位置を与えられるんですけど、ほとんどのものは飛び去っていってしまうんですね。
ごくごくわずかなものが、かろうじて地球のまわりをゆっくりと周回しているようになるということが確かめられるわけです。これって、プログラム的にはものすごく簡単なんですよ。ところが、プログラミングという表現手段を持っていない人には、これは作れない。
なにが簡単かといったら、みなさん、物理を習った人はけっこういますよね。物理を習った人は、F=maは習いましたよね、当然? そうすると、万有引力の法則、F=G*Mm/R^2も習いましたよね。ところがどっこい。この2つを習っただけでは、なぜ月が地球に落ちてこないか分からないんです。なんでかというと、地球がラージM、月がスモールm、ここの一直線上で働く力、Fを求めているわけですね。これはどう計算しても、月が地球に落ちるという結論しかないわけです。
実際、これはプログラミングで確かめてみると、これ。ちょっとわかりづらいのですが、青い天体がだんだん地球に落ちてきて、はい、というね。(青い天体が地球に落ちて、ぶつかり、さらに通り抜ける)。
これは僕が適当なことを言っているわけではない証拠に、このプログラムを見てください。
画面の真ん中を原点にしているので、dx、dyというここにないのが出てきますけど、これは全然難しくなくて、この座標系は真ん中160、160なので。ここ(真ん中)が地球で、ここが月だとすると、月の位置を点(x,y)として、地球との差を見るのにdx、dyというのを出したわけですね。
R^2のRは地球と月の距離ですから、これは三平方の定理によってdx^2 + dy^2。プログラムだと自乗を書けないので×を2回書いちゃったんですけど(R2 = dxdx + dydy;)。
ここから、わかりやすくいうとearthMassとmoonMass、ラージMとスモールmですね。これをかけたやつをR^2で割って、Fを求めています。三平方の定理は、R^2ですから。
このあと、今度R自体はR^2のルートなので、Math.sqrt()、平方根をつかっていますね。
FをX軸Y軸方向の成分、FxとFyに分解しています。その時にRを使うんですけど。
あとは加速度にFx / moonMass, Fy / moonMassを代入しているだけなんですね。
だから、プログラムで表現できるということは、こういうことなんです。これは、今日来ているスエミツさんと、カレーを食いながらさくさくと作ったプログラムです。子供に「なんでこの式で月が地球に落ちてこないの?」と言われたときに、ちゃんとプログラムを書かないで説明できる人は少ないです。
これで実行するとだめです。なぜだめなのか。初速がないからです。たとえば適切な初速を与えて距離をx=100くらいまで近づけてあげるとどうなるか。そうするとさっきよりマシだけど、曲線を描いてどっか行っちゃった。じゃあ、もっと近づけようか。x=130、近すぎるかな。まだ初速が早いですね。x=140のvy=0.1とかにするか。だめだ。vy=0.5、だめだ。このくらいvy=1とかでいいかな。かろうじてぐるぐる回るようになりましたね。というふうに、「こうすると落ちてこないね」というのがわかるんですけど、初速がないとダメだという話をみんな教えてくれないわけです。学校ではやらないわけです。
こういうことが、今のプログラミング教育のなかで視点として欠けてるんじゃないかと、荒唐無稽、有名無実なものになっちゃうかなという。ただ、これはまだ小学生が理解して自分で書けるかというと、理解して式変形できなければだめなので、もうワンステップくらいいるんですけど。
だけど、ここをインチキして重力ブロックみたいなのを作りたくないんですよね。それをやっちゃった瞬間にブラックボックスになって、子供が全然勉強しなくなっちゃうから、「ちゃんと意味がある数字なんですよ」ということを僕は教えたいなと思っています。ただ、この論文は非常にいろんな人に影響を与えた論文になっています。
ここにDynabookの理想的なかたち、みたいなのが出てきていますけど。
最後の1つですけど、James D. Foley『Computer Graphics: Principles and Practice in C (2nd Edition)』という本。日本語版の『コンピュータグラフィックの理論と実践』は僕が企画して日本語になっていますけど、本当は英語版のほうに影響を受けています。日本語版も探せばありますけど、すごく高い。英語版でも100ドルする本です。
これは僕が生まれたくらいの年に出た本です。僕が生まれたくらいの年に出た本なのに、僕が知らないことばかり載っていて、ちょっと衝撃を受けたという本です。この本との出会いがあったので、のちにUEIリサーチというCGの研究所を作る時に、この本の著者の西田(友是)先生という東大の先生をうちの会社に招いて、今ドワンゴに移管していますが、そういうことがあったという意味では非常に人生を変えた3冊目の本かなと思っています。
関連タグ:
「コンピュータの未来を創る」天才プログラマーが語る人類補完計画
キーボードとペン、先に消えるのはどっち? 誰もがプログラミングできる世界になると
「willがいちばん大事」なぜ品女の中学生は完璧にプログラミングできたのか?
「すごいことができる機能だけでは使われない」アラン・ケイが指摘した問題点
「自分より優秀な人しか雇わない」社員の能力を引き出す、すごいチームの作り方
「10年後の情報端末を詳細に夢想」天才プログラマーに影響を与えた3冊の本
「祭りを起こせ」新規事業を始める際に一番大切なこと
人より賢くなったコンピュータをどう操る? 人類補完計画の目指すところ
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略