Wiki内検索
最近更新したページ
2011-08-24
2010-05-18
2010-05-03
2010-02-18
2010-02-10
2010-02-09
2010-02-08
2010-02-07
2010-02-02
2009-12-24
2009-12-05
2009-07-05
2009-07-03
最新コメント
MenuBar1 by stunning seo guys
MenuBar1 by stunning seo guys
MenuBar1 by stunning seo guys
MenuBar1 by awesome things!
MenuBar1 by awesome things!
MenuBar1 by awesome things!
MenuBar1 by check it out
MenuBar1 by awesome things!
MenuBar1 by check it out
MenuBar1 by stunning seo guys
Menu
Programming Tips
タグ

normalize

単位ベクトル化(正規化)


ベクトルをX,Y,Zの各成分が合計1となるように、それぞれの割合を
設定したものを単位ベクトルと呼びます。
各成分がそれぞれの割合を示しているので、この状態のものは
ベクトルの計算に使いやすいのです。

ベクトルvの単位ベクトルを求めるには

単位ベクトル = v * ( 1 / ベクトルvの大きさ );



C++


TVector normalize(TVector &a)
{
float mag = magnitude(a);
if (mag == 0) mag = 0.000001;
mag = 1 / mag;
TVector ret;

ret.v[0] = a.v[0] * mag;
ret.v[1] = a.v[1] * mag;
ret.v[2] = a.v[2] * mag;

return ret;
};


Java


static Vertex normalize(Vertex dest)
{
float mag = magnitude(dest);
mag = 1 / mag;

dest.x *= mag;
dest.y *= mag;
dest.z *= mag;

return dest;
}
2008年02月18日(月) 06:48:14 Modified by eruvasu




スマートフォン版で見る