dot3DCG
内積の計算
内積は2つのベクトルのX,Y,Z 同士を、それぞれ掛けてから合計した小数です。
内積 = a.x * b.x + a.y * b.y + a.z * b.z;
また、
|A||B|cos角度
でも表します。
C++
float dot(TVector &a, TVector &b)
{
return a.v[0] * b.v[0] + a.v[1] * b.v[1] + a.v[2] * b.v[2];
};
Java
static float dot( Vertex v1, Vertex v2 )
{
return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
}
面や頂点の色などを決定するのには、面の法線と光源の向きの内積を使います。
2つのベクトルの内積が0だと、2つが直角である状態を表します。
また、内積は2通りの計算方法があるので、それを応用して2つの辺の角度を出す時に使います。
2008年02月23日(土) 00:17:17 Modified by eruvasu