プチメタ3.0

刺激を受けた物事に対する感想や考察、資産運用や英語学習、自己成長に関することなど。


心惹かれたフィギュアを買った後の使い道に困る

f:id:IKUSHIMA:20210729165802j:plain


最近のフィギュアは製造技術が凄まじくて
数百円のガチャガチャから出てくるものでも
相当に精巧な造りに驚かされる。


しかし、そんなフィギュアに魅力を感じても
いざ買った後の使い道が見つからなくて困る。


「飾ればいいじゃないか」と思うかもしれないが、
いざ飾るとすぐにホコリを被るし、
何も置かれていない適度なスペースというのも限られている。


素敵なフィギュアが次々と出てくるのに
部屋の広さはずっと変わらないので
気に入ったものを買い続けることは絶対にできない。


同じ問題を抱えていた本やマンガは電子書籍にすることで解決したが、
果たしてフィギュアはどうすればいいんだろう。

その昔、画像の回転処理を自力で作るのに四苦八苦した

f:id:IKUSHIMA:20210728134221j:plain


ゲームでの映像表現において
画像の回転処理というのはほぼ必須だが、
昔は画像回転の機能がサポートされていなかった。


しかし吹っ飛ばされるキャラクターや飛び散る破片など
回転を使った方が表現の幅が圧倒的に広がるので、
あらかじめ数度ずつ回転させたグラフィックを作っておくなど
苦肉の策がいろいろと練られた。


とはいえ角度が違うだけの画像を用意するのはデータ容量を食うし、
用意しておいた角度でしか回転できないのも不便。
なんとかリアルタイムに回転処理をしたい。


そこで回転処理を自作してみることにした。



f:id:IKUSHIMA:20210728133245j:plain


画像というのはピクセルと呼ばれる
色のついた正方形の集まりだ。
これを1ピクセルずつ移動させれば
回転した後の状態が作れるのではないか。


幸いにも点を回転させた場合の座標の求め方は
高校の数学で習ったことがある。

点 ( x , y ) をθ度回転させた場合の座標 ( x' , y' ) を求める式
 x' = x cosθ - y sinθ
 y’ = x sinθ + y cosθ


上記の ( x , y ) に画像を構成するピクセルの位置を当てはめ、
それぞれの回転後の座標に表示してやればいいのだ。


1ピクセルずつ作業していくため
わずか16ピクセル四方の画像でも
16×16=256回の処理が必要になるが、
画像回転のメリットを考えるとやむを得まい。



f:id:IKUSHIMA:20210728133252j:plain


と実際にやってみたら画像が穴だらけに。
一応、回転したらしい画像にはなっているものの
これでは使い物にならない。



f:id:IKUSHIMA:20210728132820j:plain


なぜこんな結果になるかというと、
斜め向きの画像であろうが
画面上はあくまで縦横に配置されたピクセルで表現される。


回転していない状態では綺麗に収まっていても
いざ回転すると複数のピクセルにまたがってしまうため、
結果として、元の画像より多いピクセル数が必要なのだ。


また、回転の計算結果は小数を含んだ座標になるが、
ピクセルは整数刻みのため細かい値が切り捨てられる。
その結果、もともと異なる場所にあった2つのピクセルが
同じ位置に来てしまったり、
どのピクセルも移動してこない空白の座標が生まれてしまうのだ。


元の画像のピクセルをひとつずつ移動させるという方法では
回転後に増えるピクセルの分や
空白になってしまうピクセルがどうしても解決できない。


そこで発想を逆転させることにした。


f:id:IKUSHIMA:20210728142944j:plain


まず、画像の四隅について回転後の座標を求める。
どれほど回転しようが、角にあったピクセルは
回転後も画像の端に位置するはずだ。



f:id:IKUSHIMA:20210728155449j:plain


そして画像の端を表す4ヶ所の座標から、
回転後の画像が表示されるであろう領域が判明する。


その領域内のピクセルについて
回転前にどの座標にいたかを求めるのだ。
要するにそれぞれの座標を
角度分だけマイナス方向に回転させればいい。


異なる場所にあるピクセルが
元画像の同じ座標を指し示す場合があるが、
もともと1ピクセルだったものが
複数のピクセルにまたがるのは問題ない。


また、回転前の座標が
元の画像の位置からはみ出す場合は
表示処理をスキップする。



f:id:IKUSHIMA:20210728133731j:plain


実際には回転する際の原点を調整する処理なども必要だが、
これで抜けのない綺麗な回転画像を作ることができる。
フロントライン」の初期バージョンは
この処理を使って銃を持った主人公の腕などを回転していた。


サインやコサインといった三角関数が絡む処理になるが、
小数を扱った計算が遅かった当時は
関係する値をあらかじめ数万倍して整数にしておき、
すべての計算を整数同士で行ったあと
最後に割り算して正しい値に戻す、という地味なテクニックもあった。


今となってはこんな苦労をせずに高速な回転処理ができるし、
小数同士の計算に足を引っ張られることもない。


じゃあ当時の苦労は意味がなかったのかというと、
これはこれでいろいろと勉強になったし、
ハードウェア内部でどういう処理をしているかを
知るきっかけにもなったと思う。

オリンピック開会式のピクトグラムを体現するパフォーマンスが最高だった

f:id:IKUSHIMA:20210724085146j:plain


オリンピックの開会式で披露された
各種目のピクトグラムを身体で再現する」というパフォーマンスが
素晴らしく面白かった。


種目ごとの特徴を抽象的に表現したピクトグラム
2色に色分けされた服装で真似ていく。


が~まるちょばGABEZの3人が演じているということだが、
テンポよく進む音楽に遅れないように
次々と小道具や立ち位置を切り替えていくのがスゴい。


また、ピクトグラムの角度に合わせて
大胆にカメラを回転させてしまうという見せ方も素晴らしかった。


正直、開会式の中で一番魅力を感じた場面だった。


togetter.com

大好きなミスチルの「Over」という曲の歌詞がいまだに理解できない


若い頃からMr.Childrenが好きでいろいろな曲を聞いてきたが、
その中でも大好きな「Over」という歌の中に登場する
以下のフレーズの意味がずっとわからない。


今となれば 顔のわりに小さな胸
少し鼻にかかるその声も
数え上げりゃ きりがないんだよ


「顔の割に小さな胸」というのは
バストが大きそうな顔をしているのに
実際には小さい、というようにしか受け取れないが、
一般的に顔立ちと胸のサイズは関連性がない。
体型ならともかく、
「この顔なら胸が大きそうだ」とは思わない。


今となれば 嘘のつけない大きな声や
家事に向かない荒れた手のひらも
君を形成(つく)る全ての要素を


後半に出てくる同じメロディ部分では
ちゃんと意味の通る歌詞になっており、
「嘘のつけない大きな声」も
「家事に向かない荒れた手のひら」も
前後の要素が結果と原因を表している。


ファンの間でもたびたび話題になるようだが、
納得できる説明を聞いてみたい。

総アクセス数