Viktor Kovacs氏が開発したJSModelerは、WebGLを使用した3Dモデル描画を行うための便利なJavaScript APIである。このツールは、大人気のThree.jsフレームワーク上に作られた。ライブラリには、このライブラリを使用して作られたLego builder、3D Tic-Tac-Toe、そしてRobotic Armを含む様々なデモが付属している。
このライブラリの機能は以下の通りである。
- 1つ1つ手作業で、もしくはジェネレータ関数を使用してのシンプルな3Dモデル作成
- 1つ1つ手作業で頂点やポリゴンを追加することで、モデルを定義できます
- 組み込みのジェネレータ関数で基本的なシェイプ(直方体、球体、円柱、円錐、トーラス、多角形のトーラス、角柱、角柱シェル、ラインシェル、ルールドサーフェス、回転サーフェス、プラトン立体(正多面体)とアルキメデス立体(半多面体)、数学関数を使用したサーフェス)を作成することができます
- Three.jsをベースとした、回転やズーム機能を持つ組み込みのモデルビューア
- Three.jsのgeometryフォーマットへの自動変換
- 凹型ポリゴンまたは凸型ポリゴンは、変換を通じて自動的に三角形に分割されます
- 曲面ポリゴンにあわせて、頂点法線が自動的に算出されます
- 2Dおよび3D向けの、ポリゴンの三角形分割
- 多くの2Dと3Dのジオメトリ関数
- STLファイルフォーマットへの自動エクスポート
チュートリアルガイドが基本的な使い方を説明している。ここに、いくつかの基本的なコンセプトが書かれている。
- 『Body』はビジュアライゼーションに現れるオブジェクトを指す。『Body』は以下の要素で構成される。
- 『Vertex』:3D空間における点
- 『Polygon』:多数の点をつないだ面
- 『Curve group』:多数のポリゴンを組み合わせて、なめらかな面を作る
- 『Material』:ポリゴンの色を定義する
- 『Transformation』:位置を変えたり、回転させたりといった『Body』の変形を行う
- 様々なシェイプ(直方体、球体、円柱、円錐、角柱など)のための組み込みジェネレータ関数