日本レコード大賞の歴代一覧とか、その手のデータベースをチェックすればいい歌に出会えるかもしれない。 まずは目録を作成したい。

1:55 今晩は限界。休む。

7:05 起床。眠い。納豆とハンバーガーを食す。出勤。

7:45 現場。資源ゴミ搬出、館内清掃、管理人室床面消しゴムテスト。思ったほど強くない。

10:10 撤収。

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

コンビニ。雑誌チェック。あと、この前の芹沢のハゲのちあきなおみのコメントを再確認。 先週の私のチェックが甘かった。喝采よりも夜間飛行のほうが好みだと言っている。

10:40 曳舟の部屋。PC を開く。再開が遅い。

まず YouTube の力を借りて夜間飛行をチェック。アカペラスタートか。すごい歌だな。 歌手の力量がこの水準まで到達してしまうと、どの歌がいいのかは聞き手の好みだけの問題になるようだ。

WebGL で星を描くコードを続ける。きのうの日記の TeX が間違っているので修正しておく。 プッシュ前にプレビューをチェックしたはずなのだが、見逃したようだ。

12:20 メールに返信。希望の時間帯を伝え忘れたので夕方になりそうだ。

13:15 アルゴリズムを実装。要所だけこの日記にも転載しておく。 WebGL でも Canvas 2D でも利用できるように、このくらいの処理を関数にしておくのが自然だ。

const tau = 2 * Math.PI;
const theta1 = tau / nStarVert; // e.g. 72deg
const theta0 = theta1 / 2; // e.g. 36deg
const r = Math.cos(theta1) / Math.cos(theta0);

const positions = [];
positions.push(0, 0); // center of the star
positions.push(1, 0); // the first vertex
positions.push(r * Math.cos(theta0), r * Math.sin(theta0));
for(let i = 1; i < nStarVert; ++i){
    let theta = theta1 * i;
    positions.push(Math.cos(theta), Math.sin(theta));
    theta += theta0;
    positions.push(r * Math.cos(theta), r * Math.sin(theta));
}
positions.push(1, 0); // the last vertex

最初の頂点は x 軸上にあるのだが、星のイメージとしては y 軸上のほうが好みなので、 それは描画側の座標変換でどうにでもなる。半径もそうだ。

glOrtho 相当の処理を入れてビューポートの縦横比に依らずに星を円に内接するように描画する。 縦長か横長かかで引数の順序と比を決める。これは WebGL2 Fundamentals に書かれていなかったと記憶している。 昔仕事でやったのを思い出した。

おまかでアニメーションを入れて、星を反時計回りに回転させる。 秒速 180 度だと画面がけっこう目まぐるしい。

13:50 終了。これを星型ステンシルの道具として用いる。こんなに時間がかかるか。

インターネットをチェックしようとするが、回線がいつも以上に細い。諦める。

14:25 寝る。

16:50 起きる。空がもう暗い。外出。

押上駅バス停。バスに乗車。錦糸公園前で降りる。

17:15 オリナス錦糸町二階。トイレ。ベンチで休憩。

18:00 タイトー F ステーションオリナス錦糸町店。MJ プロ卓東風戦 5 クレ。 乱打戦に巻き込まれないように。あるゲームでオーラスでラス目の私と三着目の下家でラスの押し付け合い勃発。 下家が萬子のメンチンでリーチをかけてくるが、一発で持ってきた二萬をおかまいなく切ってロン。 倍満放銃。それでも下家は三着のまま終了。 こういうラスは MJ のルールでは経験値が点棒のぶん減ってしまうが、それでも潔く打ったほうがいい。

【SCORE】
合計SCORE:-53.3

【最終段位】
四人打ち段位:強者 幻球:8

【10/27の最新8試合の履歴】
1st|-*-*----
2nd|----*---
3rd|--*--*--
4th|*-----**
old         new

【順位】
1位回数:2(25.00%)
2位回数:1(12.50%)
3位回数:2(25.00%)
4位回数:3(37.50%)
平均順位:2.75

プレイ局数:35局

【打ち筋】
アガリ率:20.00%(7/35)
平均アガリ翻:4.43翻
平均アガリ巡目:12.57巡
振込み率:20.00%(7/35)

【10/27の最高役】
・跳満
・跳満
・跳満

19:50 カスミオリナス錦糸町店。518 円。

  • オクラナス丼
  • ブラックチョコ
  • ライス
  • 野菜ジュース (900)

20:05 ビッグエー墨田業平店。264 円。

  • 絹豆腐 (2)
  • 小粒納豆 (3)
  • カレーヌードル
  • コッペパンブルーベリー

20:15 曳舟の部屋。シャワー。PC にへばりつく。晩飯。オクラが美味い。

メールチェック。インターネットは回線が細いというか、YouTube だけダメな感じだ。 ダウンロードしておいた歌謡曲を聴きながら作業する。

23:10: ステンシル研究。3D シーンを星型にくり抜くコードを実装。 ラジルギのスコア画面のスタイルを目標としている。初めて目撃した当時はその洒脱さに驚いた。

ただ、くり抜いた外側も glClear による背景色になっているので、壁紙を実装したくなる。

苦戦中。