YouTube を聴きながら麻雀の練習。画面を見たらゲーセンミカドのコットンロックンロールの放送がある。 今晩はもう時間がないので、次にチェックする。これを見ればもう三面で残機を潰さなくて済むだろう。

次の課題の素材を検索する。いいのが全然ない。

2:05 消灯。もっと遅くなってから寝る。

7:05 起床。納豆とミニいなりを食う。出勤。

7:45 現場。可燃ゴミ搬出。今日は楽。館内をさっと掃き出し。 管理人室で流しの掃除をするかと思ったら、謎のスーツ紳士が現れる。何だ。 挨拶の後に名刺を受け取ると、この物件の管理会社の偉い人だ。あちゃあ。次の応対をしてヘトヘトになる:

  • 溜めていた粗大ゴミの搬出(高く付くがトラックで片付ける)
  • 足りない備品や設備の不調などの質問の回答(掃除機を手配して欲しい)
  • このあと催される(聞いていない)総会のために管理人室清掃

麦茶のペットボトルをいただく。これは総会用なのでは。

10:00 もう総会は始まっているが邪魔して、お偉いサンに鍵を預けて仕事着のまま撤収。 途中の公園でエプロンなどを外す着替える。

イトーヨーカドー曳舟店。体温チェック、手洗い。

曳舟の部屋。報告書にここで書き込む。寝ようかと思っていたが PC をやる。 読書ノート の PyOpenGL でビューの回転をやったはずなので、そのロジックをチェック。 Sphinx の include コマンドの指定行数がズレていることに気づく。いつの間に?

glMatrixquat, mat4 あたりをいじる。適当に検索したら次のコード片を発見(コメントは私が付けた):

const q = quat.create(); // 実際にはサイズ 4 の配列を生成・初期化
quat.setAxisAngle(q, [x, y, z], angle); // q :=「ベクトル (x, y, z) 周りに角度 angle だけ回転する」

const quatMat = mat4.create(); // 空の 4 次正方行列を生成・初期化
mat4.fromQuat(quatMat, q); // quatMat := q の行列表現
mat4.multiply(model.rotation, model.rotation, quatMat); // model.rotation := model.rotation * quatMat;

12:00 おやつ。引き続きブラウザーのコンソールで glMatrixquat 周りを検証する。 setAxisAngle に引き渡すベクトルは単位ベクトルでないと無意味。 vec3.normalize(destV, srcV) のようにしてから呼び出す。

麻雀ビデオをチェックして昼寝。

16:50 起床。外出。

スカイツリータウン二階。三省堂書店。ファミ通の山本さほ先生のマンガだけチェック。 ちあきなおみ「夜へ急ぐ人」を聴くといいのではないかな。心象風景が合致しているはずだ。

トイレに訪れてから押上駅へ。小川町駅まで電車行。

秋葉原 HEY 二階。主目的のマイルシュー台に先客がいるので、店内をぶらりとしてから一時退店。

18:00 小諸そば昌平橋店。380 円。二枚盛り大盛り。

ゲーセンに戻ってイルベロとコットンロックンロールをそれぞれ 4, 1 クレ遊ぶ。 コットンロックンロールはさっきのビデオ受講の成果が出て始めて風車ステージ到達。 もう一回観て記憶に定着させよう。

イルベロは最初の 2 ゲームはハイスコアこそ地味だが、内容が好調。 しかし次の 2 ゲームで何でもないところでミスる。最終ゲームに至っては四面の最後の一鍵面でゲームオーバー。 ハイスコア画面には STG 5 と書いてあるが、これはミスだな。

20:50 退店。来た道を押上駅まで戻る。地下道を歩いて業平へ。

21:35 ビッグエー墨田業平店。303 円。

  • 小粒納豆 (3)
  • おむすび梅
  • 絹豆腐
  • しょうゆヌードル
  • ジャムパン

21:45 曳舟の部屋。シャワー。洗濯物を確認。チョコレートを食う。PC を開く。

いちおうメールチェック。一社から質問が来ているので回答する。

WebGL のコード修正。WebGL2 Fundamentalsm4glMatrix で置き換えられるか。 置き換えられそうだ。