bird「幻惑の死と使途」, お風呂

「幻惑の死と使途」

幻惑の死と使途 なんだかんだと文句を言いつつ読んでいる森博嗣著、S&M シリーズ第6作。いよいよ後半戦です。

今回は奇術がテーマ。相変わらずあらゆる方向に悪趣味な萌絵ちゃんが突っ走り、犀川先生が読者を置き去りにして一人で納得しています (最後にはいやいやながらちゃんと種明かししてくれるのでヨシとする)。まぁトリックはそれなりに面白かった。

ネタばれにならないように気をつけて書きますが、この話を読んでいて一番思ったのは、劇中の登場人物と読者に与えられる情報の差です。曲がりなりにも劇中の人は事件を現実に体験できる(?)ので、読者であるわれわれと比べると与えられている情報に大きな差があるのですよね。自ら積極的に事件には関与せず、したがって事件に関するほとんどの情報は萌絵ちゃんから伝えられている犀川先生にしたって、やっぱり読者との間には歴然とした情報量の差があります1。この話は特にその部分でフラストレーションの溜まるお話でした。こういうのはアンフェアとは言わないのかなぁ?

お風呂

なんだか前にも書いた事があるような気がするんですが、お風呂に入って身体や頭を洗っているときって、なぜか頭がクリアになりませんか?いろいろな考え事に対して、ぱっと考えがひらめく事って、お風呂に入っているときがとても多い気がする。
個人的には前から思っていたことながら、最近、会社の尊敬する人の日記でもよく「お風呂で気が付いた」という記述にぶつかり、ふふふ、と思ったりしました。

birdPDIC Reader for Java MIDP2.0

PDIC Reader for Java MIDP2.0

僕の新しい PHS、WX310SA には Java アプリ実行機能があって、いわゆる MIDP2.0 対応の Java アプリを実行することが出来ます。MiniSD カード上のファイルなどもふつーに読み書きできるので、巷にいくつかあるフリー or 有償の英和辞書をあまりまくっている MiniSD 格納して、簡易電子辞書ライクに使えないか、と妄想しています。
Java で PDIC を引くクラスなんてそこら中に転がっているだろう、と思ったんですが、意外にないものですね。自分で作るしかないのかなぁ。プライベートでコード書く暇がないよ…。

bird35mm 換算焦点距離

35mm 換算焦点距離

最近のデジタルカメラは、ほぼ例外なく 35mm フィルムよりも小さな撮像素子 (CCD や CMOS) を利用しているため、そのレンズの焦点距離もとても短くなっています。そのため、昔からカメラを使ってきた人に感覚的にわかりやすいように、35mm フィルムのカメラに換算した時の焦点距離を書く、ということがしばしば行われています。例えば、Sony の Cyber-shot T30 は 1/2.5 型の CCD を搭載しています。1/2.5 型は対角 7mm くらいの CCD のようで、35mm フィルム (対角 42mm くらい?) と比べると、寸法比で 1/6 くらいです。T30 が積んでいるレンズは実際の焦点距離は f=6.33〜19.0mm というものですが、これだと直感的にどのくらいの画角かわからないため、35mm カメラに換算した「35mmフィルム換算:38〜114mm」という数字もカタログに記載されています (後者が前者の6倍となっていることがわかると思います)。また、僕が持っているキスデジの CMOS はほぼ APS-C サイズと同じといわれており、35mm フィルムとの換算比は一般に 1.6 倍といわれています。
ところで先日ふと、何気なく使っているこの「35mm フィルム換算焦点距離」が、実は2種類あるのではないか、ということに気が付きました。上記の Cyber-shot T30 のような一般的なコンシューマカメラの場合、CCD がフィルムよりも小さいことにあわせて、レンズも小さく、専用に設計されています。つまりバックフォーカルディスタンスも、小さい CCD (フィルム)、小さいレンズに合わせて短く設計できているわけです。この場合、原理的には 35mm フィルムのカメラと相似に (つまり完全なミニチュアとして) 作る事も出来るであろうことから、画角、という意味では、まさに 35mm 換算が成り立ちそうです (ボケの問題はとりあえず置いておきます)。
しかし、現在のキヤノンやニコンのデジタル一眼レフの場合、35mm フィルム時代と同じレンズシステムを使うために、小さい撮像素子にもかかわらず、35mm 時代と同じフランジバックを持たせる必要がありました。そうすると、出てくる画像はあくまでも「35mm フィルムをトリミングしたもの」になります。だとすると、確かにフレームの見た目のサイズは上で書いたような 1.6 倍といった換算が有効でしょうが、その中身のパースペクティブのかかり方については、35mm カメラと全く変わらない、ということになります。例を挙げれば、35mm 時代の標準レンズ 50mm に対して、デジタル一眼レフでは 1.6 倍を考慮して 30mm くらいが標準レンズ相当、と言われていますが、35mm カメラ+50mm レンズとキスデジ+30mm レンズで同じ場所で同じ被写体を狙った場合、確かに対象そのものはほぼ同じ大きさで写せる可能性はあれど、その背景はきっとキスデジの方が小さく写ることでしょう。1.6 倍換算のキスデジの場合でも、パースペクティブのかかり方は 35mm カメラに 30mm レンズをつけた場合と同じだからです。
というわけで、カメラとレンズが一体となったコンシューマカメラ、またデジタル専用に再設計されたフォーサーズ (多少フランジバックが短いらしい) ではより本当の意味で換算が有効、その他の 35mm 時代と資産を共有するシステムでは換算はあくまでフレームに入れられるサイズが同じ、くらいに思っておくのがいいんじゃないかと思ったんですが、そんなことないのかなぁ?
5/8 追記。よく考えると (よく考えなくても?) そんなことないですね(^^;。最初から焦点距離ではなく画角で考えれば良かったんですが、例えばシグマのカタログには、50mm F2.8 EX DG MACRO の画角について、35mm フォーマットの場合 46.8°、SD フォーマット (1.7 倍換算) の場合 27.9°と書いてあります。対して 28mm F1.8 EX DG ASPHERICAL MACRO の場合、同じく 75.4°、47.9°となります。つまり画角で見ると、35mm の一眼レフに 50mm レンズをつけた場合と、SD フォーマット (≒APS-C サイズの CCD を持つデジタルカメラ) の一眼レフに 28mm レンズをつけた場合がほぼ等しくなるわけです。画角が等しい、ってことはたぶん、パースペクティブのかかり方やらなんやらも同じになりそうで、つまりいわゆるデジタル一眼でも換算焦点距離を普通に使ってよい、というのが正解なのでしょう。
撮像素子が小さくなっているのに同じだけバックフォーカルディスタンスを確保しなくちゃいけないのは特に広角レンズの設計では大変そうだけど、最近ではレトロフォーカスレンズの設計もずいぶん進んできているし (Olympus の 7〜14mm、なんていうお化けレンズもあったりします)、デジタル専用とすればイメージサークルも小さく出来る=レンズ全体を小型化できる、というわけで、クリアできない課題ではない、ってことなんでしょうね。

bird「脳のなかの幽霊、ふたたび」

「脳のなかの幽霊、ふたたび」

脳のなかの幽霊、ふたたび V.S.ラマチャンドラン著。書名は「ふたたび」となっていますが、前作からさらに思索を進めたもの、というわけではなくて、一般の人に対する講演の内容をまとめなおしたもの、という本です。そういった意味では、前作以上に読みやすく長さも短いので、とっかかりとしてこちらから読む、というのもアリかもしれません。

元が講演会の内容のせいか、その主張は前作よりもラジカル、というか、より自由に推論を展開していて、面白いです。推論、と言ってもラマチャンドラン博士のこと、きっといろいろな観察や実験がベースにあるに違いなく、「芸術の論理」に関する話などは、「うーんなるほど」と思わせます。

前作の中心的なテーマが「幻肢」だったとすれば、今作は「共感覚」がそれにあたるでしょう。「共感覚」とは、数字を見ると色を感じる、と言ったような、2つの感覚が入り混じることをいいます。最近の研究から、それほど珍しいものではないそうですよ。数字とともに色を見る共感覚者の場合、数字の認識能力が非共感覚者よりも有意によかったりするらしく、ちょっとうらやましかったり(笑)。

個人的に面白かったのは、前作にも出てきた視覚の二つの経路、いわゆる「ゾンビ」の話です。「盲視」という珍しい病気は、左右どちらかの視覚皮質を損傷した際、その損傷と反対側が見えなくなってしまう、というものですが、その病気について調べていた神経科学者が、その見えないはずの領域にある光点を患者に指し示すように言うと、患者自身は全く見えない、完全にあてずっぽうと言っているにもかかわらず 99% の精度で光点を正しく指し示せることがわかった、というのです。この理由は、視覚の二つの経路のうち、新しい、意識と結びついたほうの経路は損傷したが、古いほうは無事なために仕事を行う事が出来たものと推測されるのですが、僕はこの話を読んで、脳の中で、意識とは関係ない部分の処理でさえも、かなり意味的に高レベルに扱われていることに驚きました。だって、「光点を指差す」というのはそれだけで相当複雑な処理です。そんな複雑な処理も、脳は意識の介在なしに実行できるのです1。僕らはしばしば、「意識」=「大脳の働き」と考えがちですが、意識は大脳が行っている処理のほんの一部に過ぎない、ということを忘れちゃいけないんだろうなぁ、と思いました。

birdWX310SA のカメラ

WX310SA のカメラ

PHS を機種変してしばらく経ち、カメラもずいぶん使いました (256Mbytes の MiniSD カードなんて買ってしまったので、撮っても撮っても埋まらない…笑)。ここらで簡単な感想をば。

解像感はなし、色合いは僕好み
ケータイカメラの宿命か、はたまたパンフォーカスのためか、さすがに写真に解像感はありません。面白いのは、画面全体がぼんやりしているのではなく、画面の一部がつぶれたようになる点 (先日の桜の写真などでもわかります)。案外 JPEG 圧縮のせいだったりして。写真の色合いについてはかなりお気に入りです。結構濃い目に写る感じで、特に空の色が鮮やかに写るのが良いですね。ノイズは結構のるけれど…。もう一つ気が付いたこと。光量が多い昼間の屋外よりも、若干暗めのシチュエーションの方が鮮やかに写るような気がします。ちょっと不思議です。
暗所にも案外強い
夜の部屋の中など、ふつーのデジカメ (Lumix やキスデジ) だとシャッタースピードが遅くなって被写体&手ぶれ写真を量産してしまうようなシチュエーションでも結構頑張ってくれます。ぶれやすくなるのは間違いないのですが、そもそも撮れる写真が小さいせいか、それほどぶれが気にならない感じ。感度も上げられているはずなのに、ノイズの乗り方もそれほど極端ではありません。夜の室内限定なら Lumix より撮りやすいかも。
動作はのろい
やっぱり専用のデジカメに比べるとあらゆる動作が遅いです。立ち上げにも保存にも閲覧にも数秒オーダーで時間がかかります。プレビューの追従性も昔のデジカメみたい。京ぽんからの移行組である僕にとってはあんまり違和感ないですけどね(笑。一つ気がついたのは、保存先を「本体」としている場合より、「MiniSD」にしている場合の方が圧倒的に保存が早い点。僕はエレコムの「MF-FMISD256」というメモリーカードを使っていますが、これが結構速めのメモリ (公称 7Mbytes/s) なのが効いているのかしら?電池の持ちが極端に悪くなる、ということもなく、問題なく使えています。
デカイ写真は転送に時間がかかる
考えてみると当然の事実なのですが、SXGA (1280x960)、ファインで写真を撮ると、ファイルサイズは 300Kbytes 前後になります。これを NetFront でアップロードしようとすると分オーダーの時間がかかります。WX310SA には挿した MiniSD を USB ストレージとして見せるモードも付いているのでそちらで転送すればよいのですが、外出中にブログを更新しようと思ったりすると結構大変。

WX310SA は Java アプリ実行機能があったり、ZIP ファイルの展開機能や PDF ビューアなどが標準搭載だったりと、機能的にはちょっとした PDA 並みだなぁ、と感心してしまいました。いわゆる今日的なケータイ、というのはずいぶん進化しているのですね1

birdリアル・金田のバイク, ゲーム機商戦は転換期?, リビング・ゲーム機の終焉?, 「ユキビデオ」

リアル・金田のバイク

すげー(笑。作った人のイメージがもろわかりで楽しい。量産化予定なのはふつーのスクーター然とした小さいほうらしいのがちょっと残念ですが。

ゲーム機商戦は転換期

最近、セールス好調な Nintendo DS の成功を受けて、こういった論調の記事をよくみますが、個人的にはちょっと拡大解釈しすぎなんじゃないかと思うんですよね。
確かに、「他のマシンを遥かに凌駕する」といういわゆる久夛良木イズムも開発費の高騰、表現力のサチュレーションからかつての輝きを失い、特にゲームの企画、販売戦略的に「新しい何か」が求められているのは間違いないでしょう。そして DS がその一例を提供し、市場に受け入れられていることも。ただだからといって、ゲーム機のハードウェア戦略においても高機能化が間違っている、と結論付けるのは、甚だ時期尚早であるように思います。
なぜかと言えば、ゲーム機は極めて近い将来、HD への対応を余儀なくされるからです。リビングの AV 環境は今、すごい勢いで HD 化されつつあります。HD 環境に自然に適合するためには、最低 Xbox360 や PS3 クラスのスペックは必要になります1。そういう意味では、Xbox360 や PS3 性能は、スペック競争の結果生まれたものであると同時に、HD への対応の結果必然的に生じたものとも言えるのではないでしょうか。
そんなことを考えると、今の「 DS による揺り戻し」を大きく捉え過ぎることに少し危機感を感じてしまうのです。

リビング・ゲーム機の終焉?

ふと、こんなことを考えました。
「DS や PSP が定着し、PC もすっかり普及した。もしかするとそもそも、『リビングでゲームする』というライフスタイル自体が、いまや過去のものとなりつつあるのではないか」
うーむ。そういう可能性は大いにあると思う反面、個人的にはちょっと寂しいです。過去何度か書いていますが、僕の中で「ゲームをする」こととは、PC-6001 で初めてやったマイクロキャビンの「ミステリーハウス」の頃からずっと、家族で楽しむことだったからです。「ミステリーハウス」は英単語入力式のアドベンチャーゲームだったので2、当時小学生だった僕ら兄弟では知っている語彙など高が知れており、結果両親に知恵を出してもらいつつ、一緒に楽しみながらプレイしました。それ以来、ゲームというのは家族、兄弟でわいわいがやがややるものなんですね。この間のドラクエ8も、まだ字の読めなかった鳥乃も含め、家族みんなで楽しみましたし、ワンダにしてもそうです。
なので実は、携帯ゲームというものにもあんまり興味がなかったりします3。一人でゲームしててもなんだかつまんないような気がするのです。

「ユキビデオ」

ユキビデオ ご存知 YUKI ちゃん4のビデオ・クリップ集。彼女のソロ・デビュー・シングル、「The end of shite」のクリップのエッチさに惹かれ、ずいぶん前から欲しいと思ってたんですが5、ようやく買いました。

期待してた「The end 〜」も良かったんですが、「joy」のクリップが出色。すごくかっこよくてすごくかわいい(←ちなみに「かわいい」のが YUKI ちゃん本人ではないのがポイント)。曲もいいしね。

他のビデオも変で楽しくて可笑しくてかっこいいので、ひとしきり笑いながら見られます。

bird近所の桜

近所の桜

桜その二 桜その一 会社に行く道すがらに立派な桜並木があり、毎年楽しませてもらっています。今年もとても綺麗でした。

bird菜の花畑

菜の花畑

菜の花畑 日本に帰って来たら、なんだかすっかり春ですね。桜はまだ少し早いけど、近所のアウトレットモールの土手は菜の花が満開です。

そういえば WX310SA にはまだ微妙にバグがあるらしく、カメラで撮った画像の保存に時々失敗します。保存先を本体にした場合も MiniSD にした場合も失敗する時は失敗するので、メモリカードの相性、という訳でもないみたい。この菜の花の写真も最初全然保存できなかったんですが、試しに画質をノーマルにしてみたところ無事保存出来ました。

思うに、情報量の多い画像を低い圧縮率で保存しようとするとダメなのかもしれません。ワークメモリを使い切ってしまうんでしょうか?

birdWX310SA と tDiary 絵日記プラグイン機能追加版

WX310SA と tDiary 絵日記プラグイン機能追加版

ケーキ作り鳥乃 この間書いた対処方法は、やっぱりあまりに手抜きなやり方だったらしく、結局正しいサイズが取れていなかったことが分かりました1。乗りかかった船なのでちょっと調べてみたんですが、そもそも image_size.rb での JPEG ファイルのサイズ取得方法がどうも不十分っぽい。libjpeg での処理と見比べたりといろいろ調べ始めたときに、はた、と気がつきました。

僕は tDiary の絵日記プラグイン機能追加版を ImageMagick の「convert」を使うモードで使っています。だとすれば、サイズ取得にも同じ ImageMagick に含まれる「identify」を使えばいいのです。WX310SA の JPEG ファイルでも、identify コマンドでは正しいサイズが取得できることはかなり最初の方から分かっていました。

というわけで、おととい加えた image_size.rb への修正は元に戻し、代わりに絵日記プラグイン機能追加版のスクリプト、image_ex.rb に下記のような修正を加えました。

kazawa@tpx20:~/src/tdiary/plugin$ diff -u image_ex.rb.orig image_ex.rb  
--- image_ex.rb.orig    2006-03-21 22:13:06.761265514 +0900  
+++ image_ex.rb 2006-03-21 22:21:13.690420236 +0900  
@@ -139,7 +139,7 @@  
 end  
  
 def image_link( id, str )
-  @image_date ||= @date.strftime("%Y%m%d")
+       @image_date ||= @date.strftime("%Y%m%d")
        @image_year ||= @date.strftime("%Y")
        if @imageex_yearlydir == 1  
                image_url = %Q[#{@image_url}/#{@image_year}/]  
@@ -178,7 +178,7 @@  
                imageex_convertedwidth =  @options && @options['image_ex.convertedwidth'] || 160  
                imageex_convertedheight = @options && @options['image_ex.convertedheight'] || 120  
  
-               if imageex_useresize == 1 || imageex_useresize ==2  
+               if imageex_useresize == 2  
                        begin  
                                require 'image_size.rb'  
                        rescue LoadError  
@@ -198,7 +198,7 @@  
                                        imageex_convertedsize = %Q[#{imageex_convertedheight}x#{imageex_convertedwidth}]  
                                        imageex_convertedsize  
                                end  
-                               system(imageex_convertpath , "-geometry", imageex_convertedsize , orig, new)
+                               system(imageex_convertpath , "-quality", "100", "-geometry", imageex_convertedsize , orig, new)
                                if FileTest::size?( new ) == 0  
                                        File::delete( new )
                                end  
@@ -268,7 +268,26 @@  
                                }  
                        end  
  
-                       if imageex_useresize == 1 or imageex_useresize == 2  
+                       if imageex_useresize == 1  
+                               open("|identify #{image_file}", "rb") do |fh|  
+                                       img_info = fh.readline  
+                                       img_info =~ /^\S+\s+(\S+)\s+(\d+)x(\d+)\s+/m  
+                                       orig_type = $1  
+                                       width = $2.to_i  
+                                       height = $3.to_i  
+                                       if imageex_converttype == 0  
+                                               new_type = "jpg"  
+                                       elsif imageex_converttype == 1  
+                                               new_type = "png"  
+                                       end  
+                                       if width  
+                                               if width > imageex_thresholdsize or height > imageex_thresholdsize  
+                                                       small_image_file = %Q[#{image_dir}s#{image_date}_#{image_name.length.to_s}.#{new_type}]  
+                                                       resize_image(image_file, small_image_file, width, height, imageex_convertedwidth, imageex_convertedheight, orig_type, new_type)
+                                               end  
+                                       end  
+                               end  
+                       elsif imageex_useresize == 2  
                                open(image_file,"rb")  do |fh|  
                                        img = ImageSize.new(fh.read)
                                        width = img.get_width  

今度こそちゃんと動くようになったと思うんだけど、どうだろう? (いくつか本題とは関係ない修正も加わっているのはご愛嬌)

ちなみに右の写真は、今日の自分の誕生日用のガトーショコラ作りをお手伝いする鳥乃さんです。

First | Prev | 388 | 389 | 390 | 391 | 392 | Next | Last