026 · 物理
quadtree
点を散らして動かし、混んだ区画だけを四つに割り続ける quadtree を毎フレーム描く。区切りの線が、点の密度の地図になる。
210 個の点に速度を持たせ、壁で跳ね返しながら動かす。点が動くと区切りも変わるので、木をその場で直さず毎フレーム捨ててゼロから建て直す。上限 CAP = 2、深さ上限 MAX_DEPTH = 7 で、混んだ所だけが何段も細かく割れ、散ると大きい四角へ戻る。速度と点の大きさは canvas の一辺に比例させ、どの解像度でも同じ密度で動く。区切りの線は薄く(不透明度 0.45、線幅 0.65)、点だけを ink で濃く置く。
近傍を軽く調べる土台としては固定格子の空間ハッシュもある。quadtree は格子を密度に合わせて伸び縮みさせる側。