Poimandres( @pmndrs )&Isaac Mason 氏( @isaac_mason_ )による、WebGLやWebGPU、Wasmなどを使ったWebコンテンツ向けに設計された高速&軽量なJavaScript数学ライブラリ「math v0.1.0」が公開されています。
math
「math」は、React Three Fiberなどでも知られるオープンソースコミュニティ pmndrs による数学ライブラリです。
「The playful web’s math engine(遊び心あふれるウェブの数学エンジン)」を掲げ、3Dグラフィックスやクリエイティブコーディングなど、パフォーマンスが求められるWebアプリケーションでの利用を想定。WebGL、WebGPU、Wasm、各種レンダラーなどと組み合わせて利用できます。一般的なオブジェクト指向の数学ライブラリとは異なり、データ指向(Data-Oriented)な設計を採用しているのも特徴です。
- Allocation-Free設計で演算時の不要なメモリ確保を抑制
- Monomorphicなコード設計などJavaScriptエンジンでの高速実行を意識
- 各処理をベンチマークしパフォーマンスを検証
- Data-Oriented Designを採用
- Tree Shakingに対応し、使用する機能だけをバンドル可能
- WebGL / WebGPU / Wasm / 各種レンダラーと組み合わせて利用可能
- Vec2 / Vec3 / Vec4、Quaternion、Euler、Matrixなど基本的な3D数学処理
- Box、Sphere、Plane、Raycast、FrustumなどのShape / Spatial Query
- Polygon Triangulation、QuickHullなどのGeometry処理
- EasingやSpring Animation
- Seed付きRandom
- Perlin / Simplex / Worley Noise
- FBM / Ridged / Billow / Domain Warp / Curl Noise
- Color / Color Space関連処理
- FABRIKによる2D / 3D Inverse Kinematics
- AIコーディングエージェント向けのSkillを収録
単純なベクトル・行列計算だけでなく、ノイズ、ジオメトリ、IK、アニメーションまでカバーしているため、リアルタイムグラフィックスやジェネラティブ表現などで使える処理がかなり広くまとめられています。
ライセンス
「math v0.1.0」はMITライセンスで公開されています。
GitHubではソースコードも公開されており、APIドキュメントやサンプルギャラリーも用意されています。
WebGPUを使ったWebアプリやクリエイティブコーディングでは
こういう数学処理を触る機会も多いので
とても気になるライブラリ
是非チェックしてみてください!










コメント