[会議室]・・・日記にツッコミを入れるのにご利用くださいませ。
[わっちりんく(す)]
[朝日奈葉子のアンテナライフ]
・・・日記者たちへのリンク集です。
・・・アニメイトでは、買い物をするとカードにスタンプを押してくれる。これが貯まると、1000円分の買い物に使えるのだ。LDを買うのにこれを使ったのだが、これを使うには店員に身分証明を行なわなければならないのだ。で、免許証を提示したんだが、このあとどこかで落としてしまったらしい。運転免許証がねーぞ・・・。
なんだよな、運転免許証は。なくしても実はまったく問題のなく、
かつ見つかりやすいもの
なわけで、こういうテーマは日常つねに考えていることでもある。「選挙でくじ引き制」(*2)とか、「運動会で順位をなくすことへの危惧」(*3)などについても語っていたが、わしも賛成である。普段の生活がギャンブル
int 移動禁止; main() { VSYNC割り込み先設定(vsynccallback); do { 移動禁止=1; 移動結果を表示に反映させる処理(); 移動禁止=0; 座標演算処理(); 描画処理終了待ち(); VSYNC待ち(); ダブルバッファ切り替え(); 描画処理開始(); } while (!0); } vsynccallback() { 入力処理(); if ( !移動禁止 ) { 移動処理(); 当たり判定処理など(); } }などとすると、入力と移動は常に1/60秒、画像出力は描画(あるいは座標演算)速度追随というカッチョいいことができます。海外の3Dシミュレータ系ではとっくの昔に行われているはず。
昨晩の苦労はなんだったんだ。・・・いろいろ調査した結果、「開発用CD-Rはデバッグステーション(通称青PS)と初期型PSでしか動作しない」ことが判明。ウチの黒PSでは起動しない模様。どうやら、第二世代以降のPSは海賊版CD-ROM対策が強化されているためらしい。起動するじゃ〜ん。
そーいえば起動チェックしてねーな・・・でテスト、「CD-R上がったぁ?」
・・・そのまま修正に入る。疲れてるのにぃ・・・。起動しねーよ
ここで解説。業務用PSの開発形態は大きく分けて4段階ある。今日もらった機材で
月曜までに焼けっちゅーか!?
・・・と思ったら両名揃って参上。わしが出た直後に合流したそーな。がっでーむ。わしまで失敗!?
早々に切り上げて口直しにファミレスへ。あれをラーメンと定義するならわしゃもうラーメン食わん。大外れ。
・・・って輩が10万人くらいはいたに違いない^^;。視聴者側の都合を考えない
野球中継なんか嫌いだぁ!!
どちらも「nstartからnendへの変化をnstep段階に区切る」というコンセプトだが、過程が微妙に異なるのだ。ラインのときのだとこんな感じ。ラインと拡大縮小ではアルゴリズムが一部違う
line( int nstart, int nend, int nstep ) { int i, len, x1, x2, x3; nstep--; len = abs( nend-nstart ); x1 = nstart; x2 = nend-nstart; x2 = ((x2>0) ? 1 : 0)+((x2<0) ? -1 : 0); x3 = nstep/2; for ( i=0; i<=nstep; i++ ) { printf( "step %d : num %d\n", i, x1 ); x3 -= len; while ( x3 < 0 ) x3+=nstep, x1+=x2; } }これで、X・Y軸をi・x1にとって使う。ふつー教科書で「ブレゼンハム」として載っているのはこれ。
zoom( int nstart, int nend, int nstep ) { int i, len, x1, x2, x3; len = abs( nend-nstart )+1; x1 = nstart; x2 = nend-nstart; x2 = ((x2>0) ? 1 : 0)+((x2<0) ? -1 : 0); x3 = nstep; if ( nstep > len ) x3-=len/2; for ( i=0; i<nstep; i++ ) { printf( "step %d : num %d\n", i, x1 ); x3 -= len; while ( x3 <= 0 ) x3+=nstep, x1+=x2; } }これで、元座標と先座標をi・x1にとって使う。line()との決定的な違いは縮小(nstep<len)のとき。nstart=1, nend=10, nstep=5のとき、line()は1,3,5,8,10だがzoom()は1,3,5,7,9と表示される。つまりline()のアルゴリズムで1/2に縮小をすると形が歪になってしまう。line()は「最終stepでnumはnendへ到達する」アルゴリズムだが、zoom()は「最終stepの次にnumはnendより1だけ大きくなる」アルゴリズムなのだ。
メールはこちらへ...[後藤浩昭 / Hiroaki Goto / GORRY / gorry@shonan.ne.jp]