L@g UX K"Y^ҚTy"a"*z0uN(x`X@+# ӥM1@P3P-MYW3Z"6^xgZre Ybidddates2025-01-16T23:55:00etitlex\C++/openFrameworksで作られたかわいいデモ「Flock of arrows.」をJavaScript移植dtagsk#js #c #artcurlxhttps://fukuno.jig.jp/4558dbodyy Xで見かけたステキなアプリをJavaScriptで再現!


「swimming cursors」
src on GitHub forked junkiyoshi/Insta20250112
パソコンで毎日活躍してくれているカーソルくんが群になって泳ぎ回るアプリです。マウスクリックでフルスクリーン。カーソル表示オフ機能も付けました。背景が真っ黒なのでプロジェクターで投影してもおもしろいはず。

Flock of arrows. Source code -> https://t.co/Q67ItL6Vr7 #openframeworks #programming #creativecoding #プログラミング pic.twitter.com/9KZynfFthv

— JunKiyoshi (@junkiyoshi) January 12, 2025

JunKiyoshi氏による作品「Flock of arrows.」は、C++言語のオープンソースなフレームワーク「openFrameworks」で作られていました。

滑らかな動きで見てみたくなり、JavaScriptへの移植を始め、その実装で必要だったノイズをまず実装し、シード付きランダム RandamXorshift や、Vector2 とともに、必要最小限の openFrameworks っぽいJavaScriptのフレームワーク「ofjs」を作成。

お気に入り言語のJavaScriptですが、ベクトルの計算が演算子でできないのはちょっと面倒。C++であれば演算子の多重定義(オーバーロード)機能でベクトルの他、複素数などいろんな数を演算子を使って分かりやすく計算できて便利です。

links
- Flock of arrows. – プログラミング de 落描き
- パーリン氏自身による改良版、シンプレックスノイズとパーリンノイズを比較
- なめらかなランダムノイズ、パーリンノイズのJavaScript実装とデモ、PerlinNoise.js
- ピクセルなテクスチャーをつくろう!pixel-texture-makerとマイクラ風な木ライブラリ「voxel-trees」移植
cimgxKhttps://img.sabae.cc/data/20250117/dceddd04-270c-4901-8c23-d828a341df45.jpg