lgp.jsは、objやstlなど3Dモデル出力のための一般的なファイル形式の読み込みや書き出しのためのJavascriptライブラリです。レーザーエッチングや、切断のためのイメージ、SVGパッチの書き出しにも役立ちます。簡単なファイルの読み込みと書き出しのためにlgp.jsのファイルリーダー、ライターとしての機能も備えています。
次の例は、objとstlファイルの書き出し方です:
var lgp = require('lgp');
var verts = [[0,0,0],[1,0,0],[1,1,0],[0,1,0]];
var indis = [[0,1,2],[0,2,3]];
lgp.fileWriter( "filename.stl", lgp.stlSerializer( {
positions: verts,
cells: indis
} ) );
lgp.fileWriter( "filename.obj", lgp.objSerializer( {
positions: verts,
cells: indis
} ) );
次の例は、objファイルの読み込み方です:
var lgp = require('lgp');
lgp.fileReader( 'models/cube.obj', function parseObj( text ) {
var results = lgp.objDeserializer( text, { flipYZ: false, scale: 1.0 } );
var positions = results.positions;
var cells = results.cells;
// you can do whatever you want here
} );
次の例は、objファイルの読み込み方です:
var lgp = require('lgp');
lgp.fileReader( 'models/cube.obj', function parseObj( text ) {
var results = lgp.objDeserializer( text, { flipYZ: false, scale: 1.0 } );
var positions = results.positions;
var cells = results.cells;
// make your wildest dreams come true
} );
stlファイルを読み込む方法は、lgp.stl Deserializer を使用する事以外は、上記と同じです;
次の例は、HTMLキャンバスからのイメージの書き出し方です:
var lgp = require('lgp');
lgp.imageWriter( 'filename.png', canvas.toDataURL('image/png') );
次の例は、SVGパッチの書き出し方です:
var lgp = require('lgp');
var path = [[0,0,0],[1,0,0],[1,1,0],[0,1,0]];
lgp.fileWriter( "filename.svg", lgp.svgSerializer( { polygon: path, strokeWidth: 0.1 } ) );
このライブラリは、コンピュテーショナル デザイン、及びパラメトリック デザインをウェブに広めようとする、大きなライブラリのプロジェクト/シリーズの一部です。 高度なコンピューテーショナル デザインや3Dモデルの出力、Gコード生成、CNCフライス加工ツール用のパスや、レーザー切断用のパスの生成、ロボット運動計画などを可能にする、全ての複雑な形態機能を備えた数学的頭脳になることを目的としています。
node.js (4.4.0+) & npm
このライブラリをプロジェクトに追加するためには、以下の操作を行って下さい:
npm install --save https://github.com/YCAMInterlab/lgp.js.git
もしく以下の方法でも追加できます:
npm install --save lgp
See https://github.com/rezaali/webgl-sketches/tree/master/hull
Copyright 2015-2016 Reza Ali co-developed by YCAMInterLab during the Guest Research Project v.3
Apache-2.0