メモメモ。
FN1008001 – 3次元空間における面の向きを調べる – Flash : テクニカルノート
3次元座標空間で面を扱うとき、その向きを知りたいことがあります。面の向きは、面に対する垂線のベクトルで定められます。これを「法線ベクトル」と呼びます。なお、本稿では面をDisplayObjectインスタンス、または3頂点の3次元座標で表される3角形で考えることにします。
メモメモ。
FN1008001 – 3次元空間における面の向きを調べる – Flash : テクニカルノート
3次元座標空間で面を扱うとき、その向きを知りたいことがあります。面の向きは、面に対する垂線のベクトルで定められます。これを「法線ベクトル」と呼びます。なお、本稿では面をDisplayObjectインスタンス、または3頂点の3次元座標で表される3角形で考えることにします。
point1が交点。
var point0:Point, point1:Point, point2:Point; point0 = new Point( 50, 100 ); point1 = new Point( 200, 200 ); point2 = new Point( 100, 300 ); point0.offset( -point1.x, -point1.y ); point2.offset( -point1.x, -point1.y ); var vector0:Vector3D, vector1:Vector3D; vector0 = new Vector3D( point0.x, point0.y, 0 ); vector1 = new Vector3D( point2.x, point2.y, 0 ); var angle:Number = Vector3D.angleBetween( vector0, vector1 ); //このときはまだラジアン var d:Number = angle * 180/Math.PI;
もっと早い書き方があるような気がするが、なんとか算出できた。
地味に使うケースがあるそうなのでメモ。
var point0:Point, point1:Point; point0 = new Point( 50, 100 ); point1 = new Point( 200, 200 ); var inter:Point = Point.interpolate( point0, point1, 0.5 ); //ここの0.5が中間地点を示す