csg.js

以下の本家サイトとホームページから練習

Source code: http://github.com/evanw/csg.js/
Documentation: http://evanw.github.com/csg.js/docs/

イントロ

var cube = CSG.cube();
var sphere = CSG.sphere({ radius: 1.3 });
var polygons = cube.subtract(sphere).toPolygons();

コンストラクティブソリッドジオメトリー操作

CSG 操作: union, subtract, and intersect.
Using lightgl.js
マウス操作可 WebGL.

a
b
a.union(b)
a.subtract(b)
a.intersect(b)

The solids a and b code:

var a = CSG.cube({ center: [-0.25, -0.25, -0.25] });
var b = CSG.sphere({ radius: 1.3, center: [0.25, 0.25, 0.25] });

CSG操作例

a
b
c
d
e
a.intersect(b).subtract(c.union(d).union(e))

物体 code:

var a = CSG.cube();
var b = CSG.sphere({ radius: 1.35, stacks: 12 });
var c = CSG.cylinder({ radius: 0.7, start: [-1, 0, 0], end: [1, 0, 0] });
var d = CSG.cylinder({ radius: 0.7, start: [0, -1, 0], end: [0, 1, 0] });
var e = CSG.cylinder({ radius: 0.7, start: [0, 0, -1], end: [0, 0, 1] });

HPからのコード操作

下記のコードはHPより可変確認可能
色関数 setColor(r, g, b)は 0 から 1 (表示のため, csg.js 本体でサポートではない):