2013年4月6日土曜日

タイムトンネルの作り方- How to make a time tunnel (2) -

前回からの続き。 元画像を用意し、 トンネル内側状に変形したところ。 元画像の走査位置を少しずつすらしてアニメーションにし、 せっかくなので回転効果と、 暗闇グラデーションを加えてみる。 あとは元画像でカッコいいのを用意すれば完成! でもこんな風なタイムトンネルもいいなぁ・...
Read More...

2013年4月4日木曜日

タイムトンネルの作り方- How to make a time tunnel (1) -

まもなくリリース予定のタイムマシン(2013年4月11日公開)に合わせて、 タイムトンネルも作ってみることにした。 【タイムトンネルの作り方】 (1) 横長長方形の、上下左右繰り返し用画像を用意する (2) (1)をトンネル内側形状に変形し、その画像を保存しておく    ←左右繰り返し画像であれば、切れ目ない帯になるはず。 (3) 元画像を少しずつ下方向にずらしつつ、(1)(2)を繰り返す (4) (3)からgifアニメを生成する まず元画像を用意する。 練習として円に変形してみる。 遠近法的処理を加えてトンネル内側状(こんな言葉はない?)にする。 今回はjavaでベタに画素移動してみたけど、たぶんgimp2やblenderに習熟していればカンタンにできるのかも・・・。 ためしに時計画像でやってみると・・・ 気持ち悪い。 続きはまた今度。 目指すはドラえもんのタイムトンネ...
Read More...

2013年3月22日金曜日

float、double、IEEE、不思議の国のアリス

【参考】1,2,3,4,, 浮動小数点方式で小数を表現する場合、 ・32ビット使う方法(=IEEEの単精度=float型) ・64ビット使う方法(=IEEEの倍精度=double型) がある。 ちなみにint型=32ビット符号付整数、long型=64ビット符号付整数である。 単精度を例にとる。 32ビット=符号部S(1)+指数部E(8)+仮数部M(23) によって、 (-1) S × 1.M (2) × 2 E-127 を表現する。仮数部の「1.M」という形を正規化という。 0 ≦ E ≦ 254 ∴ -127 ≦ E - 127 ≦ 127 なので、 「1.M」を元にして小数点が左右に127ずつフワフワ動く感じ。 ここでめっちゃちっこい数(0に近い数)を考えてみる。 それは E = 0 のときで、1.0...00 (2) × 2 -127 その次に小さい数は、 1.0...01 (2) × 2 -127 その差は、        0.0...01 (2) × 2 -127 = 2 -150 刻みが2 -150ごとの定規なのに、最初の刻みだけ、0から2 -127の場所にある、ってこと。 これは、 目盛りが1mmごとの定規なのに、最初の目盛りは、0から8388608...
Read More...

2013年3月15日金曜日

ソートアルゴリズムの計算量をくらべる

ソートアルゴリズムの計算量をまとめてみた。 ただし、マージソート・クイックソート・シェルソートあたりの優劣は、 ソート対象の個数や状態によって変動する。 例えばこの表からでも、 クイックソートはソート個数が一定以上になると、シェルソートより速くなりそう・・・ って事がわかる。 理由としては、「n log n」 vs 「n exp(1.25)」 はnによって大小関係が変わってくるから。 分岐点を探してみる。 n log n = n exp(1.25) ⇒ log n = n exp(1/4) 簡単のために、n = 2 exp(p) とおくと、 p = 2 exp(p/4) ⇒ p exp(4) = 2 exp(p) p = 16, n = 2 exp(16) よって、n > 2の16乗(=65536) だと、n log n < n exp(1.25) となり、 オーダが逆転してしま...
Read More...

2013年3月13日水曜日

小学生でもわかる、補数による負数表現

歴史的経緯とか言葉の意味とか、 「最上位ビットで+/-を表現するだけ」だと00000000も10000000も「0」になって困るとか、 とにかく難しいことは忘れる。 まずコンピュータ= 引き算の筆算で、「隣の位から10借りてくる」ことがどうしてもわからなくて、算数が嫌いになりそうな小学生 だと考える。 (ちなみに元教師の経験から言うが、 「隣の位から借りてくる」をうまく教えられるかどうかで教師の力量がわかる。) 例題:98765 - 45678 一の位から困る。泣き出す小学生。 「隣の位から」借りると難しいので、どーんと99999借りることにする。 もちろん後で返すつもり・・・たぶん。 すると、もちろん「99999 - 45678」を先に計算してもいい。 絶対に「隣から借りる」必要はないので、小学生も嬉しそう。 計算すべきは「98765 + 54321」に変身する。 引き算じゃなくなった! でもこの心の不安はなんだろう・・・ 借りていた「99999」はあとで返す、という約束を思い出す。 でも「...
Read More...

2013年3月12日火曜日

When You Love A Woman (Journey)

3/17のJourney金沢公演の予習第2段。 昨日ヤホーで調べていたら、すごく歌がうまい人を見つけてしまったんですよ・・・ 「Journey」って、知ってます? でもJourneyじゃないんですよ・・・ In my life I see where I've been I said that I'd never fall again Within myself I was wrong My searchin' ain't over...over I know that ※ain't = 「be動詞 + not 」「have + not」の俗語 see where I've been in my life = 人生を振り返る、 fall again = fall in love again、という感じ。 もちろん、I'd = I would。 ちょっと深入り。なんでsearchであって、seekやlook forじゃないのか。。。 そういえば、『Way Back Into Love』でも、 I've been watching but the stars refuse to shine,  I've been searching...
Read More...

Don't Stop Believing (Journey)

3/17のJourney金沢公演の予習第1段。 英語板でも結構盛り上がってる感じ。というか皆さん、深い、深すぎるよ・・・。 Just a small town girl,  livin' in a lonely world  She took the midnight train  goin' anywhere  Just a city boy,  born and raised in south Detroit  He took the midnight train  goin' anywhere 「boy meets girlモノ」っぽい。 南デトロイトのイメージがわからないので、いつか行ってみる。「二人は出会った」とは書かれて無いけど、次段落により「出会った」とする解釈多し。 A singer in a smokey room  A smell of wine and cheap perfume For a smile they can share the night It goes on and on and on and on 勝手に想像するなら、ミュージシャンとしての成功を夢見て上京した「a...
Read More...