Sphereクラス(球オブジェクト)

基底クラス:PhysObjectクラス

物理シミュレーション環境構築用HTML5フレームワーク「physics.js」にて、球オブジェクトを生成するためのクラスです。球の半径やを指定することができます。

プロパティ

プロパティデータ型デフォルト説明
radius<float>1.0球オブジェクトの半径
geometry
<object>{
widthSegments : 20,
heightSegments : 20,
phiStart : 0,
phiLength : Math.PI * 2,
thetaStart : 0,
thetaLength : Math.PI
}
球の形状を指定するパラメータ。
widthSegments :y軸周りの分割数。
heightSegments : y軸上の正の頂点から負の頂点までの分割数。
phiStart : y軸回転の開始角度。x軸の負方向とのなす角で指定。
phiLength : y軸回転角度(0~2*Math.PI)。
thetaStart : x軸回転の開始角度。y軸とのなす角で指定。
thetaLength : x軸回転角度(0~Math.PI)

geometry.phiLengthプロパティなどを指定して半球としたとしてもグラフィックスのみの変化となります。衝突計算には球と同じです。

3次元グラフィックス(画像ダウンロード:

コンストラクタの実行例

var sphere = new PHYSICS.Sphere({
	//マウスドラック関連
	draggable: true,        //マウスドラックの有無
	allowDrag : true,       //マウスドラックの可否
	//物理量パラメータ
	radius: 3,              //球の半径
	//初期状態パラメータ
	position: {x: 0, y: 0, z: 5},   //位置ベクトル
	//材質オブジェクト関連パラメータ
	material : {
		color : 0xFFFF00,   //反射色
		ambient : 0x990099, //環境色
		castShadow : true   //影の描画
	},
	//形状オブジェクト関連パラメータ
	geometry : {
		widthSegments: 60,
		heightSegments: 60
	},
	boundingBox : {
		visible : true,     //バウンディングボックスの可視化
	},
})

メモ

並進運動
回転運動
衝突計算 ◯ほとんど全ての3次元オブジェクト。同時衝突も可能。
接触計算 △Planeクラス(平面オブジェクト)とその派生クラス(Floorクラス、Boxクラスなど)
拘束計算 △球オブジェクト同士の