まどかの 日記

[2001/10/13〜2001/10/21の日記]
[2001/10/22〜2001/10/28の日記]

0023
2001/11/04 ()
 良く寝ました 
 今日もお休みの日で、昨日遅くまで起きてたこともあり、午後3時までめいっぱい寝ました。

 さすがに12時間寝ると起きたときだるいですねぇ(^^;
 で、起きてからは、一昨日くらいの日記にも書いたとおり、この自己満足日記の番外編として「まどかの自己満足的思い出話」を書くために、その原稿となる「私とMSX」の連載メールを探して、ついでに当時のメールをいろいろ読み返していました。

 当時は「シナリオ構想記」という名前で週2回近況報告としてメールマガジン地味たことをしていましたが、我ながらよく続いたなぁ。シナリオ構想記に続いて、「道くさ(仮名)」というメールマガジンも発行しましたが、全部で40通以上出してたなぁ。
 ほんとのメールマガジンにしては少ないほうだと思いますが、週2回で40通ですから、約2ヶ月続いたことになるのかな? 言い換えると、そのゲーム開発はその程度の期間で自然消滅してしまったんだけどね(^^; いろいろ課題とかで忙しかったし。ま、これは言い訳ですが。

 しかしながら、当時はみんなでほんとに良く話し合いました。休みの日に集まって会議も開いたし、毎日のようにチャットでも話し合ったし、メールで議論もしたし。
 あのまま続けていれば、きっといいゲームが創れたと思うのですが、今は何で自然消滅したのかはもう憶えていませんが、恐らく課題で忙しくなったというのが正解でしょう。メンバーのクラスも違ったし。

 こうして、当時の記録を見てみると重要だったことを意外と忘れていることに気が付きました。当時の授業で習ったことを今ではもう忘れてしまっているということです。
 教えてもらった当時はすごいと思って、絶対忘れないでおこうと誓っても、やはり忘れてしまうのですね。よほど強く印象に残っていない限りは……
 やっぱり、このメールマガジンのように開発の近況報告とともに当時あった出来事や、感心した授業の内容を記録しておくと、こうして読み返したときに大変役に立ったり思い出の感動材料になったり、良いですね。

 この自己満足日記も思い出の感動材料の意味が強いのですが、何を創るにしてもこうした記録はやはり取っておくべきだと強く思いました。
 みなさんも趣味の創作や仕事でなにか作品を創る時は、ぜひ創作記録をとっておくことをお勧めします。

 それでは、今日はこの辺で。今日、この日記と同時に思い出話の方もアップしますので、興味のある人は読んでみてくださいね。当時の原稿をほとんどそのまま掲載しているので、少々説明不足の部分がありますが、どうか御了承ください。

 おやすみなさい。

0022
2001/11/03 ()
 楽しく遊びました 
 はい、今日は予定通り彼女と楽しく休日を過ごしました。
 
 で、いつも通り午後10時くらいに帰宅して、のんびり過ごしました。

 今日は前々からやっているある有名同人ゲームの続きをしました。これはいわゆるヴィジュアルノベルで同人にしては最高レベルの完成度を誇る素晴らしいゲームです。
 なんと言ってもシナリオの物理的量がすごい。いつになったら終わるんだ! というくらいボリューム満点です。
 というわけで、ひとつのシナリオを読み終わるまで延々と遊んで(?)ました。
 結局終わったのが午前3時でした。
 同人ゲームでこれほど遊べるものを私は他に知りません。いやぁ、すごいなぁ。

 と、このゲームを遊ぶ度に私もゲームを創ってみたい念にかられます。
 この同人ゲームを創った人たちも私と同じ社会人なので、私もがんばれば創れるかな。
 その前にメンバー集めかな。でも、みんな忙しいから当分無理だろうなぁ。私も時間とってやる自信は今はあんまり無いなぁ。
 たぶん面白い企画があって、呼びかければみんな面白がって乗ってくると思うけどね(^^; ゲームつくりは楽しいしね。

 というところで、今日はもう寝まーす。

0021
2001/11/02 ()
 展示会の打ち上げ 
 今日は、仕事の次のステップに進むための仕様がまだ決まっていないので、一日特にすることが無い日でした。一応ソースの見直しと、拡大率をツールチップで表示するなど、細かいところを作っていました。

 で、今日はうちの会社の方で新しいバイトの歓迎会兼展示会の打ち上げ兼ひとつ仕事が終わったので、そのお祝いということで、飲み会がありました。というわけで、出向先の仕事は早めに切り上げて名古屋に帰りました。

 それからみんなで楽しい飲み会。今日はバイト君たちの女の子の好みの話とかで盛り上がりました。
 
 つーことで、今日は飲み会しかネタがないなぁ。
 
 他に何したっけなぁ。
 いや何もしてないなぁ。

 出向先が金曜日は掃除の日だったので、みんなで掃除したくらいかなぁ。

 明日はおやすみなので、いつものとおり彼女とゲームでもして遊ぶ予定です(^^;
 そして、日曜日は昨日書いた番外編でもアップしようかな。

 というところで、今日はおやすみなさい。

0020
2001/11/01 ()
 補間拡大その後 
 えー、今日は昨日に引き続き、補間拡大の工夫をしてました。
 昨日の日記にも書きましたが、とりあえず今日は、補間拡大にディザを加えてキレイに見せようというのが、目標でした。

 で、その結果どうなったかというと、結局あまり意味はありませんでした。ディザをかけたことで、なんとなく細かい粒子でボケている感じはしますが、色の荒さがそれを上回っているので、意味がありません。

 それなら誤差拡散法でとも考えましたが、よく考えると、誤差がわからんではないか。
 
 もともと誤差拡散は減色などをした場合に、元画像の色と画像処理後の色の、主に輝度の差を誤差と用いて1画素での誤差を、周りの画素に分散して、全体的な見た目の誤差を減らすという手法なので、元の画素がないから補間で画素を作っている補間拡大では、輝度の差なんて出しようがないよねぇ。

 まあ、基準となる色と補間して作り出した色との差を誤差と用いれば、できるのかもしれないけど。それでいいのかなぁ。補間した色は周りの色から作り出した色なので、基準点の色と違うのは当たり前で、それの誤差を周りに分散したらますます変な色になってしまうような気がするね。
 ま、今日やっているうちにはこんなこと思いつかなかったのでやってないけど、時間があったらやってみることします。

 というわけで、結局、普通のバイリニア補間の高速版で、Sinカーブを用いずに、整数部と小数部が8:8bitの固定小数を使ってテーブルを作ったものを採用しました。
 小数部を切り捨てたSinカーブでは、やっぱり精度が足らないことが今日の実験でわかったので、精度を上げた線形補間でやることにしました。
 小数部を失わずに持つ固定小数でやると、昨日まで出ていた筋がなくなっていい感じです。拡大もそれなりに速いし。それでも、StretchDIBitsの補間には及ばないのが残念ですが。

 これでとりあえず補間拡大のルーチンはできたことにします。減色教室でも補間拡大の時はこのルーチンを使おうかな。一応StretchDIBitsでの補間拡大も切り替えで使えるようにする予定です。そっちの方が速くて綺麗いだし、性能はビデオカードに依存するはずなので。
 ドットがそのまま大きくなる通常の拡大はブレゼンハムを使った高速拡大ルーチンを使う予定です。これは文句無く速いですからね。

 というところで今日は書くネタが無くなってしまったなぁ。今日は上の人がいなかったので、ひたすら補間拡大の実験ばかりをやっていた1日でした。1日だったけど、いろんなことやったなぁ。ディザもパターンテーブルをいろんなのに試してみたり、階調も8とか16とか変えてみたり。
 
 結局ディザは意味無かったんだけど、減色の時に使う練習になったので、よかったです。誤差拡散は補間拡大でのやり方がわからなかったので、資料はもっていったのですが、やりませんでした。
 
 もしかしたら、StretchDIBitsのアレは誤差拡散ではなく、高精度の補間アルゴリズムを高速にしているのかも。ああ、ラグランジュ補間の結果をもっとよく見ておくべきだった。
 ラグランジュ補間は遅かったので、もう使わないけど、補間の精度はいいはずなので、StretchDIBitsの秘密を知る鍵になったかも。アルゴリズムが面倒だったので、もうやる気ナッシングですが(^^;

 ちなみにStretchDIBtisもStretchBltも速度はそんなに変わらないようです。速度が変わらないので、座標の指定が楽な分、StretchBltを使ったほうが良いのかも知れません。

 StretchDIBitsはBMPのボトムアップやトップダウンを考慮して座標の指定をしないといけないのに対して、StretchBltはデバイスコンテキスト上の座標なので、原点は必ず画像の左上です。ただ、画像データをビットマップとして持って、メモリデバイスコンテキストに選択しないといけないという条件がつきますが。
 メモリの消費量を考えると画像データを直接転送できるStretchDIBitsの方が良いかもしれません。でもこんなのは、128MBのメモリが当たり前になってきた今の時代の悩みではないのかもしれませんね。


 ありゃ、ネタが無いとか言って、もうこんなに書いてしまった。それに今回でもう20回目だし。早いねぇ。日記って結構書けるもんだね。毎日帰りの電車で、今日のネタはこれにしようって考えて帰るのも良いもんだ。

 家に帰って何もすることがないより、目的があったほうが絶対いい。私の場合、他にもやりたいことはたくさんあるけど(^^; ああ、減色のつづきぃー JAVAでけいじばーんー


 そうそう、突然ですが、近いうちに時間ができて、その時まで私のやる気が持続していれば、この日記の番外編として、ちょっとした思い出話や、自分史みたいなのも公開したいと、今日考えました。
 
 そのちょっとした思い出話の第1弾は「私とMSX」です。
 
 これは、私がプログラマを目指すきっかけとなった究極の初心者向けパソコン、「MSX」との出会いから、HAL在学中に至るまでのお話です。
 
 この話は、以前に仲間とヴィジュアルノベルを創ろうとがんばっていた時期に、私がその開発の進捗状況を知らせる意味で、簡易メールマガジンを週2回のペースで超内輪に発行していたことがありまして、そのおまけとして連載していたものです。
 結局、そのヴィジュアルノベルは諸事情により自然消滅しましたが、せっかくがんばって書いたものなので、今回公開しようと考えました。

 その他、番外編として「私とブラスバンド」とか「私とカラオケ」とか、「私と○○」シリーズを何本か書く予定です。これは今思いついたものなので、あくまで予定ですが(^^; そんなに私自身にもネタ無いし……

 また、これも以前からやりたいと考えていたことなのですが、私がプログラムを組んでいて失敗したケースを公開して、みんなが同じ罠(?)にはまらないようになったらいいなぁ。という企画です。私は未だにイージーミスが多いので、自分の覚え書きの意味も含めて、役に立たないかもしれませんが、まあ笑ってやってください。

 ああ、もうこんなに書いてしまった。字が多くて読むのも大変だ。

 というところで、今日はおやすみなさい。

0019
2001/10/31 ()
 今日はノー残業デイ 
 今日は、出向先で、ラグランジュ補間の拡大縮小ルーチンを試してみました。結果は、キレイに拡大できるけど、遅い…… です。そりゃ、9点から補間してやってたら遅いっスよ。

 というわけで、ちょっとレベルを下げて、バイリニア補間でテーブルを使った高速版を作ることにしました。
 この高速版では、2点間を256分割していると考えて、256階調の色の256分割ということで、256×256=65536個のテーブルを用意して、補間計算を高速化したものです。

 それで、今まで浮動小数で計算していたものを、整数でしかもテーブル参照するから、かなりの高速化になりました。さらに、このテーブルにもちょっと工夫がしてあって、普通直線的に値を補間するバイリニアだと、どうしても拡大時に十字の筋が入ってしまうので、それをなくすために、テーブルを直線より滑らかな、Sinカーブにちょっと手を加えたものにすると、キレイに拡大されるというわけ。

 というのが、Cマガジン1998年7月号の特集で紹介されていたので、それを自分用に改造して使ったのでした(^^;

 でも、自分のやつは、サンプルのようにキレイにならずに、ちょっと筋が入ってしまう。これはなぜ? サンプルは1ピクセル3バイトのフルカラー画像の拡大で、私のは1ピクセル2バイトの16Bitカラー画像の拡大だからかな?
 
 あ、そういえば、サンプルのテーブルは色の1要素が256階調だから256×256のテーブルだったけど、私のは1要素が5ビットの32階調だから、32×256のテーブルにしないといけないのかな。
 たぶんそうだな。うん。 がーん、今ごろ気づいたよ(j−j でも、さっそく明日試してみよう。

 と、言っている間に気になったので、早速試してみました。でも、あんまり変わりませんでした(^^;
 ということはほかに原因があるんだろうな。これがもし、16bitカラー画像だからというのが原因なら、もうしょうがないんだろうか。StretchDIBitsは補間拡大してさらに誤差拡散(単なるディザかもしれませんが)までかけているっていうのによー。これじゃ負けっぱなしじゃないかー。見た目も速度もぉー。くそう。やっぱハードウェアアクセラレーションには勝てんのか……
 
 ん? そうか、ディザか。私もこのバイリニアの高速版に加えてディザをかけてみようかな。だいぶ遅くなるようだったらやめるけど、ちょっと遅くなるくらいだったら、採用しよう。これで見た目は互角か?
 
 ちなみに開発はPentiumIIIの550MHzでしていますが、実機はPentuimIII 1.2GHzなので、少々遅くても大丈夫だと思っています。まあじっさい大丈夫だろうけど、550で遅いと感じるのはちょっとねぇ。

 というわけで、明日の目標が決まりました。「バイリニア補間拡大にディザを加える」です。
 できれば誤差拡散で。ああ、減色のために集めていた資料がこんなところで役立つとわ。やっぱり資料って大切だね。
 実は、上の人には浮動小数演算版のバイリニア補間拡大で良いといわれていますが、時間もまだ余っているし、今回の開発は「高速化」が目標のひとつにあげられているので、できる限りがんばりたいです。

 現在、他のプログラムの修正も言われていますが、そっちは比較的簡単にできそうなので、さっさと済ませて、こっちに全力を注ぎたい気持ちでいっぱいです。だって、こっちの方が面白いんだもんね。趣味のプログラムにも役立つし(本音)(^^; 
 あ、これを見ているであろう、ごく一部の人に誤解の無いように言っておきますが、比較的簡単にできそうな他のプログラムとは「文字情報」の方ではありませんよ。あっちは1日かけて調べないとバグの原因が検討もつかない状態です(^^; ……はい、がんばりますです。

 んでは、そろそろ遅いので、お風呂に入って寝ることにします。あ、洗濯物取り込んでなかった。入れなきゃね。

 そうそう、忘れていましたが、タイトルのノー残業デイとは、出向先の会社が水曜は残業なしと決まっているみたいで、みんな早くに帰ってしまいます。先週は気づいたら誰もいない状態でびっくりしました(^^;
 なので、私も見習って(?)いつもより30分早く仕事を終えて帰りました。
 それだけです。 
 
 では、おやすみなさい。

0018
2001/10/30 ()
 足が疲れました 
 今日は刈谷のあるところでテクノフロンティア2001っていう展示会の出展社として説明員をやってました。社長と2人でブースにいて、説明はほとんど社長にしてもらいましたが(というより、私はこの展示会のメインの製品の開発にはあんまり関わってないので、上手く説明ができません(^^;)、社長が打ち合わせなどでいないときは、社長の説明を真似て、ちゃんと説明員やってました。

 私は結構こういう展示会の説明員をやるのですが、はっきりいって足が疲れます。しゃべるということより、1日中立っていることの方が私には大変です(^^;
 で、展示会は明日もあるのですが、明日は私は出向先の会社の方へいかないといけないので、明日は別の人が説明員として行ってもらいます。

 というわけで、また出向先に頭を切り替えないといけません。今度は以前書いた、ラグランジュ補間を用いた拡大ルーチンを試します。まだ、サンプルのソースを良く見ていないので、なんとも言えませんが、速いのかなぁ。StretchDIBits並に速ければ使うけど、もし遅いようなら、StretchDIBitsを拡大率を6.0くらいに制限して使おうと考えています。

 今日は社長の車で現地まで行ったのですが、帰りは社長が用事で別のところに行かないといけないので、私は電車で帰りました。JR刈谷駅から名古屋に帰ったのですが、刈谷って意外と近いんですね。
 私は愛知県の地理に疎いので全然知らなかったのですが、普通列車で15分くらいで着きます。料金は400円。自動車では会社から1時間半くらいかかるのですが、やっぱり電車は速いですね。
 まぁ、刈谷駅から現地までは結構距離があるので、車で行ったほうが便利ですが。
 
 今日も会社には自分のパソコンが無いので、展示会場から直帰しました。
 帰りに本屋によってIPって雑誌とLinuxJapanとWinGraphicを買ったのですが、なんとWinGraphicが今月で休刊になってしまうそうで、ちょっとショックでした。WinGraphicは初心者にわかりやすい内容で結構好きだったのですが、残念です。

 私には他のCG系雑誌である、GW(Graphics World)やCGWorldは難しいので、WinGraphicがなくなってしまうと、私のレベルに合う雑誌がなくなってしまうなぁ。このレベルの新しい雑誌が出てくれるといいなぁ。
 というより、会社でWinGraphicの年間購読手続きをしてしまったのだが、休刊になるとは…… お金戻ってくるよね? Webでもあと何冊で休刊になりますって書いといて欲しかったなぁ。

 結局1冊も届いてないので、全額返却だな。そのアナウンスはいつ届くんだろ。ちょっと心配。

 というところで、明日も早いんで、今日はこれくらいで、おやすみなさい。

0017
2001/10/29 ()
 CD買いました 
 はい、やっと今日まで辿り着きました。リアルタイム日記です。

 今日は昨日から引き続き、徹夜で開発してて、今日の午前11時くらいから現地に移動して設置作業。
 会場に作ってもらってあるブースに機材を設置して、動作テスト。

 なんかすんなりいっちゃいました。あまりのスムーズさに疑問を抱くほどです(^^;
 結局解決しなかった音声のバグも、ごまかしが効いているらしく、気にならないので、このままやらせてもらいます。
 
 予定時間通りに設置を終えて、会社に帰り、開発用マイマシンを展示に使っている私は、徹夜したこともあって、早めに帰らせていただきました。っていうか、パソコン無いから、何もできーん。

 というわけで、やっと現在に至ります。

 今日はこのままちょびちょび寝ながら、溜まっている娯楽をのんびり楽しむことにします。
 先週のサンデーも読まないといけないし、今日のジャンプもあるし、実家から名古屋にくるときに買ったCDも聞かないとね。

 そうそう。今日はCDの話をメインにするんでした。

 えーっと、実家からの帰りにタワーレコードで何気なく買ったCDは4枚。
 
 ○シンクロナイズド・ラブ/ジョー・リノイエ(武富士のCMの曲ね)
 ○アニメタル・マラソンIV
 ○ニュー・サウンズ・イン・ブラス2001(東京佼成ウインドオーケストラのCDね。毎年出てます)
 ○超絶技巧〜くまん蜂の飛行/ウイントン・マルサリス(トランペットのめちゃ上手い人です)

 これです。最後2つはブラスバンド系なので、たぶんみんな知らないでしょう。
 ニューサウンズは毎年5月ごろにでる東京佼成ウインドオーケストラのCDで毎年いろいろな曲をブラスアレンジして演奏してくれてます。今年のお気に入りは「ルパン三世」。かっこよすぎ。

 ウイントン・マルサリスさんはトランペットを吹きながら同時に呼吸もできるという人間離れした技「循環呼吸」を身に付けていらっしゃる、世界でも有名なスーパートランペッターです。
 タイトルにもある「くまん蜂の飛行」はそれはもう有名な難しい曲で、16部音符が休みなく続き、息を吸う暇も無い、とんでもない曲です。
 誰が作ったのかは知りませんが、「循環呼吸」ができる人しかできんっちゅうの。ある意味「循環呼吸」を披露するためにあるような曲ですね。

 で、その激ムズの曲を完璧に演奏しているマルサリスさんの演奏はまさに「超絶技巧」。
 昔、世界的に有名な指揮者である小澤征爾さんが解説のNHKの音楽番組で、このウイントン・マルサリスさんが子供たちにトランペットで音楽を教えるといううらやましい番組を見ました。
 この時にもマルサリスさんは「循環呼吸」を披露されていました。この時私は初めて「循環呼吸」をできる人を見たので、かなり衝撃的でした。ロングトーン(ひとつの音をながーく吹くことね)がいくらでもできるという事実に驚愕です(^^; すごすぎ。真似してできることじゃないしね。

 で、もっとすごかったのが、その番組の出演者のスターっぷり。マルサリスさんもさることながら、一緒にあのリベルタンゴで有名なヨーヨー・マさんも一緒に演奏してくれるなんて、なんて素晴らしい番組なんでしょう。
 で、その時に紹介されていた曲も私の大好きなジョージ・ガーシュインの「ラプソディ・イン・ブルー」。最初のクラリネットのソロが大好きで、私も真似してよく吹いたものでした。

 なんだか、とりとめのない思い出話になってしまいましたが、良いCDを買いました。

 あとの2つはなんとなーく買ったようなものなので、たまに聞く位で終わる運命です(^^;

 そうそう、今回買ったCDでマルサリスさんはトランペットではなく「コルネット」という楽器で演奏していたのですが、その音がまた素晴らしい。コルネットはまあトランペットの親戚みたいな楽器ですが、すごくやわらかい音を出す楽器で、「歌う楽器」と称される甘い音色が魅力的です。
 なんていうか、すごく澄んだ曇りの無い音が心地よいです。一生に一度は生で聴いてみたい音です。

 忘れていましたが、マルサリスさんとこのCDで共演されているバンドはこれまたアメリカを代表するイーストン・ウインド・アンサンブルで、最高でした。

 全11曲入りで1890円なので、興味がある人は是非買ってみてください。
 良い音聴けます(^^;

 久しぶりに音楽を語ったところで、今日はおやすみなさい。