自作WASMプリプロセッサとWeb要素技術を使ってレトロ・シューティングを作る
複数のボクセルデータを表示するのはサクっと作ってしまうつもりだったんだけど、WebGL2.0の理解が深まるにつれいろいろ盛り込みたいことが増えてきてる。盛り込みたいというか変更したいというか。。
2019-06-30 07:08:39複数のボクセルデータを表示するために今改造してるところなんだけど、これを機会にオイラー角での指定をやめて、軸ベクトル+ラジアンで回転を表すようにしてみるつもりである。
2019-06-30 07:07:15軸ベクトルをつかうと例えばx軸周りの回転は (1,0,0)になるわなあ。そしてx軸かつy軸周りの回転は (1,1,0)となるのだろうなと思う。でまあy軸だけ逆回転させたくば(1,-1,0)とすればよいのかなと。たしかに考えやすい気がするねえ。。考え方が間違って理解してなければの話だけど。。
2019-06-30 07:04:28しかし、「ジンバル・ロック」とやらはいくら頭の中で考えても全くイメージできんわけだ。これが。。 ja.wikipedia.org/wiki/%E3%82%B8…
2019-06-30 06:54:14これはひょっとして「ジンバル・ロック」によるものなのかと考えたりとかしてたり。わからんけどね。 そこでまあ「ジンバル・ロック」のない回転とやらはどんな感じなのかと思ったわけだ。そこで思い出したのが「クォータニオン(四元数)」である。
2019-06-30 06:49:06x,y,z軸固定でオイラー角でx,y,zをx,z,yの順番に回転行列を掛け合わせるのだが。各軸周りの回転が等速になってるように見えんところが気になるところだ。 youtu.be/Q5xShxUkbdE
2019-06-30 06:49:06回転のアニメーションをオイラー角でしていると妙な違和感があって。x,y,zを同じ角速度で回してるのになんかこう回転速度が変化するような感じになってしまうのはなんでかな。。と昔から思ってた。 youtube.com/watch?v=Q5xShx… sfpgmr.net/sandbox/vox/20…
2019-06-30 06:43:08あかん。難しい。今まで3次元空間での回転は軸固定でx,y,zのオイラー角で表してたのだが、回転軸ベクトルとラジアンを使って3次元の回転を表す方法をいまさら理解してさらにクォータニオンに行き着いたわけだが、朝一でこれはきつい。
2019-06-30 06:37:45知る人ぞ知るニチブツ「チューブパニック」。こういう粗いピクセルの3Dグラフィックをイメージしている。 youtube.com/watch?v=q58XNh…
2019-06-29 09:45:508x8x8ボクセルデータを4倍に拡大して表示。1ボクセル=1ポイントスプライトという処理なのでこのような独特な表現になる。正確にボクセルをレンダリングするというわけではない。 youtube.com/watch?v=Q5xShx…
2019-06-28 05:02:35ArrayBufferやDataViewについての理解度はかなり増してきた気がする。しかしもう爺の領域に差し掛かりつつあるので、すぐ忘れてしまうんだよなあ。爺だからと言って新しいことにチャレンジできないわけではないが、脳の可塑性はやっぱり落ちるんでそこはどうしようもないんだよな。。
2019-06-25 20:47:17しかしこのところシェーダーコードばかりを書いてるからwasmを忘れつつあるなあ。JSとシェーダーで画面周りのインターフェースを作って、それをメモリにマップしてそれ経由でWASMと会話することを目論んでるわけだけどね。
2019-06-25 20:45:01