« 2006年01月 | メイン | 2006年03月 »
2006年02月24日
neon
au design project の第 5 弾である neon が都内で発売が開始されたようです。
ITmedia +D モバイル:「neon」が都内で店頭に並ぶ──新規は1万円台後半
http://plusd.itmedia.co.jp/mobile/articles/0602/24/news052.html
ITmedia +D モバイル:完全垂直携帯「neon」、2月24日から発売
http://plusd.itmedia.co.jp/mobile/articles/0602/23/news049.html
ITmedia +D モバイル:写真で見る「neon」
http://plusd.itmedia.co.jp/mobile/articles/0601/19/news102.html
背面に LED があるのが特徴になるのかな。折りたたみケータイにはもう(まだ?)興味はないのでこれも見送りです。気になるメニューのデザイン画像もありますが、なんだか「TRON?」とかって思ってしまうアイコンもありますね。外装だけでなく内面のデザインにもこって欲しいな、と思います。
2006年02月23日
サマータイムマシンブルース
- サマータイムマシンブルース
- 本広克行監督
- 2005 年公開
夏に観ようかと思っていたのですが、雑誌で公開を知ったときには既に終了してしまっていて残念な思いをした記憶があります。夏は情報に無頓着すぎていましたね。
本広監督の映画は「サトラレ」「スペーストラベラーズ」が自分的に大ヒットだったため、そっち路線は注目しているつもりでした。逆に、「踊る大捜査線」シリーズは本編ドラマを観ていなかったために乗り遅れてそのままです。MOVIE の 1&2 はビデオで観ましたが、スタートダッシュができなかった分乗り切れなかったですね。今でもそうです。
この作品には「スペトラ」的なオバカなノリを期待していたのですがちょっと期待が勝ちすぎていたようです。映画を見ると大体 5 分くらいでその映画のニオイがわかるのですが、この映画は「ちょっとヤバイかな?」と思って、果たしてそのとおりでした。自分の中で定義づけている映画開始 5 分の「問題提起」という部分があるのですが、ここがダラダラと長いのです。ツカミの部分ですね。以前期待していてこの現象を感じた映画としては「Avalon」が顕著です。
そして本広監督ということで期待していた部分とは別にやはり上野樹里ちゃんです。彼女が出演していなければ DVD の購入までには到らなかっただろうな、と思います。「スペトラ」や「踊る~」の深津絵里さんのように本広監督は私の好きな女優さんをよく起用しているんですよね。「サトラレ」の鈴木京香さんや八千草薫さんもそうです。この辺のキャスト眼にも結構まいっています。
さて映画自体はどうかというと、それでもけっこう楽しめました。本広監督独特のせつなさの部分が弱かったかな、と思いますが…、と書いて気が付きましたが、今回の映画は感情の振幅の幅を少なくしか振られなかったのがこういった感想になった原因かな、と思います。本広監督の醍醐味は、笑いの中にもせつなさを織り交ぜる術に長けている部分、だとちょっと今思いました。
映像はいたって良好で日本的な低コントラストさはありません。夏の強い日差しを浴びた高コントラストな映像が多く、とても好きな映像の部類に入ります。私の映像の好き嫌いに関してはこの辺などをどうぞ。
さて一度観終わったので、次はサトラレ思念波・・・もとい、コメンタリー付きで観てみようと思います。意外と DVD のこの機能は好きですね、特に本広監督作品に関しては。
2006年02月22日
2006.02.22
なぜ鬼教師になったのか? 女王の教室 スペシャルドラマで復活 : TV : エンタメ : YOMIURI ONLINE(読売新聞)
http://www.yomiuri.co.jp/entertainment/tv/20060221et03.htm
3月17,18日 21:00 放送とのことです。ちょっと期待。
Yahoo!ニュース - 日刊スポーツ - SMAPガッチャマン22日夜だけ復活
http://headlines.yahoo.co.jp/hl?a=20060222-00000053-nks-ent
Yahoo ニュースでは 22 日の夜となっていますが、NTT 東日本のこちらのページ では「あの人気 CM が、期間限定で復活!(2006年3月31日まで)」とあります。どっちなんでしょう?
Yahoo!ニュース - 産経新聞 - 消えるブラウン管 東芝、国内販売を終了
http://headlines.yahoo.co.jp/hl?a=20060222-00000014-san-bus_all
ブラウン管の絵は好きなんですが仕方ないですね。SED の登場が待たれます。
2006年02月21日
2006年02月20日
坂の上の雲(2)
1 巻と同様、軍人である秋山兄弟のパートに正岡子規のパートが差し込まれるような形で章が構成されています。軍事面の章を読み進んでいると、肩透かしをくらうように正岡子規の章に切り替わります。それまで読んでいたのは帝国主義時代の軍事的な内容なだけに、昂ぶっていた気分をいい意味で弛緩させられます。帝国主義という殺伐とした時代を描くにあたって、その時代の日本の俳句・短歌というものを織り交ぜる手法は、しかし著者が新聞記者であったという事実や正岡子規自身も新聞「日本」に籍をおく身であったということに一つの意味はあるのでしょう。
司馬さんの小説では情報を扱う必要があるために、もう一つの主流(悪い言い方をすれば傍流)が常に存在します。「竜馬がゆく」では竜馬の情報源や小回りとしての寝待ちの藤兵衛、「翔ぶが如く」では評論新聞の海老原穆などがそれにあたると思います。狂言回しと言ってもいいかもしれません。以上 2 つは傍流といってもいいかもしれませんが、「坂の上の雲」においてはやはり秋山兄弟を主流になぞらえて読んでしまっており、正岡子規はもう一つの主流だなぁ、と感じています。しかし情報を回す立場としては存在を無視することができません。
そんな子規はあまり健康体ではなく、セリフ自体もやわらかいため、逆に凄みのある雰囲気を醸し出しています。伊予弁もそれに一役買っていることでしょう。
「人間は友をえらばんといけんぞな。日本には羯南翁がいて、その下には羯南翁に似たひとがたくさんいる。正しくて学問のできた人が多いのじゃが、こういうひとびとをまわりも持つのと、持たんのとでは、一生がちごうてくるぞな。安くても辛抱おし、七十円や八十円くれるからというてそこらへゆくのはおよし。あそばずに本をお読みや。本を読むのにさほど金は要らんものぞな」 (p25~26)
この子規は秋山兄弟の弟、秋山真之と幼少の頃からの付き合いで、真之が海軍兵学校に入るまでは同じ学校に在籍していました。考え方的にも近いと思う部分があり、例えば
「和歌の腐敗というのは」
と、子規はいう。
「要するに趣向の変化がなかったからである。なぜ趣向の変化がなかったかといえば、純粋な大和言葉ばかり用いたがるから用語が限られてくる。そのせいである。そのくせ、馬、梅、蝶、菊、文といった本来シナからきた漢語を平気でつかっている。それを責めると、これは使いはじめて千年以上になるから大和言葉同然だという。ともかく、日本人が、日本の固有語だけをつかっていたら、日本国はなりたたぬということを歌よみは知らぬ」
「つまりは、運用じゃ。英国の軍艦を買い、ドイツの大砲を買おうとも、その運用が日本人の手でおこなわれ、その運用によって勝てば、その勝利はぜんぶ日本人のものじゃ。ちかごろそのようにおもっている。固陋はいけんぞな」
と、子規は、熱っぽくいった。 (p319)
真之は、滞米中からおもいつづけてきたことを、子規に話した。
「どうせ、あしの思うことは海軍のことじゃが。それとおもいあわせながらいま升サンの書きものをよんでいて、きもにこたえるものがあった。升サンは、俳句と短歌というものの既成概念をひっくりかえそうとしている。あしも、それを考えている」
「海軍をひっくり」
「いや、概念をじゃな。たとえば軍艦というものはいちど遠洋航海に出て帰ってくると、船底にかきがらがいっぱいくっついて船足がうんとおちる。人間もおなじで、経験は必要じゃが、経験によってふえる智恵とおなじ分量だけかいがらが頭につく。智恵だけ採ってかきがらを捨てるということは人間にとって大切なことじゃが、老人になればなるほどこれができぬ」
(なにを言いだすのか)
と、子規は見当がつかぬままに、うれしそうに聴いている。
「人間だけではない。国も古びる、海軍も古びる。かきがらだらけになる。日本の海軍は列強の海軍にくらべると、お話にもならぬほどに若いが、それでも建設されて三十年であり、その間、近代戦を一度経験し、その大経験のおかげで智恵もついたが、しかしかきがらもついた」
(後略) (p324~)
真之の話はこの後も続きます。とても興味深い内容ですので、是非本書を読んでいただきたいです。
さて、この秋山真之がどういった思考を行う人物であったかは、以下の文が適切に示しています。
まず真之の特徴は、その発想法にあるらしい。その発想法は、物事の要点はなにかということを考える。
要点の発見法は、過去のあらゆる型を見たり聞いたり調べたることであった。かれの海軍兵学校時代、その期末試験はすべてこの方法で通過したことはすでにのべた。教えられた多くの事項をひとわたり調べ、ついでその重要度の順序を考え、さらにそれに出題教官の出題癖を加味し、あまり重要でないか、もしくは不必要な事項は大胆にきりすてた。精力と時間を要点にそそいだ。
(中略)
「人間の頭に上下などはない。要点をつかむという能力と、不要不急のものはきりすてるという大胆さだけが問題だ」
と言い、それをさらに説明して、
「従って物事ができる、できぬというのは頭でなく、性格だ」
ともいった。
真之の要点把握術は、永年の鍛錬が必要らしい。(p230~231)
以前、「捨てる技術」[1][2]ということに関して書いたことがありますが、それに通じるものがあります。なかなか大胆に切り捨てるというのは難しいんですよね。こういった真之的な思考は、「キャプテン」や「プレイボール」、そして「スラムダンク」など、スポーツマンガではよく見られる光景です。
子規と真之の会話の続きにはアメリカの海軍の話が持ち出されます。真之はアメリカに派遣されていたこともあり、その流れでカリフォルニア州における排日感情に関する記述がありました。(p283)
実質的には 1 ページ程度の記述ですが、ここで以前見た「ヒマラヤ杉に降る雪」を思い出しました。もうだいぶ前に見たため、今調べてみるとこれは第二次世界大戦後の話ですね。全然繋がっていませんでした。しかもカリフォルニア州でなくワシントン州ですし。私の場合はこのように、記憶を大胆に切り捨てるということがなかなかできません。まぁ「ヒマラヤ杉に降る雪」に関しては子役時代の鈴木杏ちゃんが出演しているという繋がりがあるので忘れることはできないのですが:-)
「坂の上の雲」は思っていた上を数段超える面白さで、何故「翔ぶが如く」を読み終わった後すぐ読みはじめなかったのか、と今更ながらに悔やんでしまっています。続きが非常に楽しみです。
2006年02月19日
RenderMonkey(3) Perlin Noise
今回はこちらのサイトにある Perin Noise を作ってみます。原理は、例えば以下のサイトで紹介されている情報を参考にしてみます。
Perlin Noise
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
基本的には周波数と振幅が反比例する関数の加算を行うことになります。周波数が 2 倍になったら振幅を 1/2 に、といった感じです。
RenderMonkey で実装のテストを行いますが、RenderMonkey には最初から NoiseVolume.dds というボリュームノイズのテクスチャファイルがあります。これを使ってしまうと Perlin Noise を作る部分がなくなってしまうので Random3D.dds を Perlin Noise の種として使います。ちなみに NoiseVolume.dds は 128x128x128 、Random3D.dds は 64x64x64 のボリュームテクスチャです。以下の画像は Random3D.dds を 2 倍にして見た目のサイズをあわせています。

fig.1 NoiseVolume.dds と Random3D.dds
さて、まずは Random3D.dds の表示からです。これがリンク先の noise にあたります。説明は Vertex/Fragment Program を参照しながら行うのでとりあえず、シェーダから。
uniform vec3 fvLightPosition; uniform vec3 fvEyePosition; uniform float fScale; varying vec3 Texcoord3d; varying vec3 ViewDirection; varying vec3 LightDirection; varying vec3 Normal; void main( void ) { gl_Position = ftransform(); Texcoord3d = gl_Vertex.xyz * fScale; vec4 fvObjectPosition = gl_ModelViewMatrix * gl_Vertex; ViewDirection = fvEyePosition - fvObjectPosition.xyz; LightDirection = fvLightPosition - fvObjectPosition.xyz; Normal = gl_NormalMatrix * gl_Normal; }
uniform vec4 fvSpecular; uniform vec4 fvDiffuse; uniform float fSpecularPower; uniform bool bMono; uniform float fNoiseSel; uniform vec4 fvNoise1Color; uniform vec4 fvNoise2Color; uniform vec4 fvNoise2Amb; uniform vec4 fvNoise3Color; uniform vec4 fvNoise3Amb; uniform vec4 fvNoise4Color; uniform vec4 fvNoise4Amb; uniform sampler3D volumeMap; varying vec3 Texcoord3d; varying vec3 ViewDirection; varying vec3 LightDirection; varying vec3 Normal; float amplitude( float octave ) { return 0.5/octave; } vec4 perlin_noise( float octave ) { return texture3D( volumeMap, Texcoord3d*octave )*amplitude(octave); } vec4 zero_center_perlin_noise( float octave ) { return perlin_noise( octave )-amplitude(octave)*0.5; } void main( void ) { vec3 fvLightDirection = normalize( LightDirection ); vec3 fvNormal = normalize( Normal ); float fNDotL = dot( fvNormal, fvLightDirection ); vec3 fvReflection = normalize( ( ( 2.0 * fvNormal ) * fNDotL ) - fvLightDirection ); vec3 fvViewDirection = normalize( ViewDirection ); float fRDotV = max( 0.0, dot( fvReflection, fvViewDirection ) ); vec4 fvBaseColor; vec4 fvAmbient = vec4(0.0, 0.0, 0.0, 0.0); if( fNoiseSel < 0.25 ) { fvBaseColor = texture3D( volumeMap, Texcoord3d ); if( !bMono ) fvBaseColor *= fvNoise1Color; } else if( fNoiseSel < 0.5 ) { fvBaseColor = perlin_noise( 1.0 ) + perlin_noise( 2.0 ) + perlin_noise( 4.0 ) + perlin_noise( 8.0 ); if( !bMono ) { fvBaseColor *= fvNoise2Color; fvAmbient = fvNoise2Amb; } } else if( fNoiseSel < 0.75 ) { fvBaseColor = zero_center_perlin_noise( 1.0 ) + zero_center_perlin_noise( 2.0 ) + zero_center_perlin_noise( 4.0 ) + zero_center_perlin_noise( 8.0 ); fvBaseColor = abs(fvBaseColor)+amplitude( 1.0 )/2.0; if( !bMono ) { fvBaseColor = 1.0-fvBaseColor; fvBaseColor *= fvNoise3Color; fvAmbient = fvNoise3Amb; } } else { fvBaseColor = perlin_noise( 1.0 ) + perlin_noise( 2.0 ) + perlin_noise( 4.0 ) + perlin_noise( 8.0 ); float ring = fract(20.0 * Texcoord3d.x + fvBaseColor.x); ring *= 4.0 * (1.0 - ring); ring = pow(ring, 2.0); if( !bMono ) fvBaseColor = mix(fvNoise4Amb, fvNoise4Color, ring); else fvBaseColor = vec4(ring,ring,ring,ring); } vec4 fvTotalAmbient = fvAmbient; vec4 fvTotalDiffuse = fvDiffuse * fNDotL * fvBaseColor; vec4 fvTotalSpecular = fvSpecular * ( pow( fRDotV, fSpecularPower ) ); gl_FragColor = ( fvTotalAmbient + fvTotalDiffuse + fvTotalSpecular ); }
ノイズは 4 種類あるため、変数をスイッチとして使っています。fNoiseSel が 0.25 区間ごとに noise, sum 1/f(noise), sum1/f(|noise|), sin(x + sum 1/f(|noise|) をそれぞれあらわすことにしています(厳密には 4 つめは sin 関数は使っていませんがリンク先の表記を用いてます)。またノイズのみのパターンとするかディフューズカラーをつけるかを bMono で選択できるようにしています。モデルに関しては Shpere, Cube, Teapot から選択が可能です。このプログラムからできるノイズは以下の様になります(これら画像はノイズパターンとディフューズカラーをつけた 2 種類を後でまとめたもので、実際にこのような絵が出るようには作っていません)。




fig.4 それぞれの noise
Vertex Program の方は Textured Phong ほぼそのままで、Texcoord3d に対して fScale をかけた gl_Vertex を格納する部分が追加してあります。これは他の RenderMonkey のサンプルでも多用されている手法で、前回説明したモデルの大きさにテクスチャ座標が関係するため、外部から調整できるようにしています。
そして Perlin Noise の要は Fragment Program です。{ fNoiseSel | [0, 0.25) } では単純に texture3D( volumeMap, Texcoord3d ) によって Random3D.dds をサンプリングしています。ここはテクスチャのフィルタリング GL_LINEAR により線形補間されたサンプリングが行われています。
区間 { fNoiseSel | [0.25, 0.5) } では sum 1/f(noise) を作っています。ここでは単純に 4 オクターブ分を加算しています。オクターブが上がる毎に周波数は 2 倍にし、振幅は 1/2 にしています。振幅の 1/2 は単純でわかりやすいですが、周波数が 2 倍はテクスチャ座標が 2 倍になったと考えています。例えば [0.0, 1.0] 区間のテクスチャ座標があった場合、これを [0.0, 2.0] 区間であると見立てることによって周波数 2 倍を考えています。なのでリピートした乱数になってしまっています。
区間 { fNoiseSel | [0.5, 0.75) } は sum 1/f(|noise|) です。テクスチャの特性上サンプリングされる値は [0.0, 1.0] であり、perlin_noise() 関数ではオクターブ毎に [0.0, 0.5], [0.0, 0.25], [0.0, 0.125], ... の値を返しています。これから [-0.25, 0.25], [-0.125, 0.125], ... を返す zero_center_perlin_noise() を使うようにします。ここでも 4 オクターブ分を加算して絶対値をとり [0.0 1.0] の範囲に戻しています。ディフューズカラーにするときにはこのままではうまくカラーが作れなかったので 1.0-the_noise としてディフューズカラーをかけています(それ以前に何か誤解がありそう・・・)。
最後は、リンク先では sin(x + sum 1/f(|noise|) と表記されていますが sin を使ってうまく実現できなかったため、fract などを使ってそれっぽくしてみました。ベースは Wood.rfx です。
というわけで RenderMonkey の .rtx ファイルはこれです。
_test_perlin_noise.lzh
これだけで疲れてしまった。。エントリの作り方を見直そう。。
2006年02月18日
奇跡の人
- 奇跡の人
- アーサー・ペン監督
- 1962年公開
- 白黒
衛星映画劇場で放送しているのをチャンネルを替えているときに偶然見つけ、字幕の「サリバン」に目が止まった瞬間に見ることを決めてしまっていました。話自体は人から聞いたり番宣などの記事で知っており、有名な "water!" も「オレンジデイズ」や人づての話で知ってはいましたが、伝記や映画を見たことがなかったためオリジナルは本当に初めてです。そのシーンにはもう涙でしたね。
サリバンのいうセリフは一々自分の心にも突き刺さります。「同情してペットのように扱っている」や「考えのない追従は盲目です」など、諦めを優しさと履き違えている部分をえぐり出します。そして劇中でサリバンもいうように、例え教師であっても自分に先生が必要であると悩むことがあり、あのサリバンでさえそうであったのだと思わされます。
私がヘレン・ケラーを思い出すときに必ず一緒に思い出すのは中村久子さんです。これは「知ってるつもり?!」を見た影響なのですが、こちらのサイトの情報によると 1999.11.21 の放送だったようです。今思い出しても「知ってるつもり?!」にはいろいろと教えられたと思います。最近はこの手の番組がなくなったのがとても悲しいです。
「奇跡の人」を観ているときに思ったのは、家庭教師というつながりで「The Sound of Music」でした。西欧における家庭教師のあり方がどこか共通していると感じたからだと思います。
・・・とここまで書いて、関連する項目を Wiki で読んでいました。
初めて知ったことに「奇跡の人」とはアン・サリバンを指すのだそうです。原題は「The Miracle Worker」で、これを知れば一目瞭然です。邦題のもたらす曖昧さから 奇跡の人 = ヘレン・ケラー という誤解が浸透してしまったようです。私もそのうちの一人でした。また映画の内容として「奇跡の人」と「The Sound of Music」のどちらもが、演出によって現実とは離れた内容になっている箇所があるとのことです。
「奇跡の人」では例えば井戸の水に触れて「ウォワァー」とヘレンが叫ぶシーン。サリバンの手記「ヘレン・ケラーはどう教育されたか」によると、ヘレンにかかる水とそのときに綴った w-a-t-e-r の指文字によって、ヘレンに言葉の認識が生まれたようだ、ということになるようです。ここではヘレンは言葉は発していません。
また「The Sound of Music」においても、マリアの著作の映画化と関連権利のすべてを売ってしまったため、夫であるゲオルグの書き方を改めてくれと脚本家に要求しても、結局はとおらなかったようです。どういった部分であったかは詳しく調べてはいませんが、厳格でありすぎる部分かな、と思っていしまいます。
映画という娯楽を提供する立場としては如何に興味深く作るかが重要であり、興業の成否が常に問われます。伝記ものの映画を作る難しさを考えさせられます。しかしこの「奇跡の人」の演出は、その後のヘレンの人生の幕開けであり映画のクライマックスでもあるこのシーンで、言葉という新しい認識をサリバンが教えヘレンが悟った記念すべき出来事を、観客に雄弁に伝えています。現実的にはヘレンは声に出して「ウォワァー」とは言わなかったのでしょうが、彼女の心の中は言葉であふれかえっていたことでしょう。それを演出するにあたってヘレンに叫ばせたことは、誤解を生む原因となったかもしれませんが、実際を知った上ではヘレンの心の声を代弁していると十分に感じることができます。
甘党と辛党
トン汁を作ったときに買ったごぼうがあまっていたのできんぴらごぼうを作ってみました。
概ね味付けは成功したのですが、最後にいれた赤唐辛子が多すぎて滅っ茶辛い味になってしまいました。おかげさまでお酒が進みます(←これが言いたかったわけではありません:-)
ところで、甘党と辛党という言葉がありますが、この言葉は誤用されがちな言葉に挙げらると思います。友人と話していて「甘党か辛党かっていったらどっち?」「ん~、辛いのは苦手で、やっぱり甘党かな~」なんて会話になったりすることがありました。最近の韓流ブームも手伝って、辛いものが好き = 辛党 な認識の人が多くなったように感じます。
正しくは、
- 甘党 : 酒よりも、甘いものを好む人
- 辛党 : 菓子などの甘い物よりも酒類の好きな人
のように、辛党とは辛いものが好きな意味ではありません。しかし、辛いものを食べると飲み物が欲しくなるのは現実であり、その飲み物は酒であることが往々にして多いことは確かです。というわけで酒好きに対する辛党という言葉は、言い得て妙だなぁと思いました。しかし、このきんぴらは辛い・・・。