struct vecto3
{
float x;
float y;
float z;
vecto3()
{
x=y=z=0;
}
float vecLength()
{
return sqrt(x*x+y*y+z*z);
}
void normalize()
{
const float temp=vecLength();
if (temp!=0)
{
x=x/temp;
y=y/temp;
z=z/temp;
}
}
}
vecto3 normalize(vecto3 & vv)
{
float vecLength=sqrt(vv.x*vv.x+vv.y*vv.y+vv.z*vv.z);
if (vecLength!=0)
{
vv.x=vv.x/vecLength;
vv.y=vv.y/vecLength;
vv.z=vv.z/vecLength;
}
return vv;
}
struct vecto3
{
float x;
float y;
float z;
vecto3(float xx,float yy,float zz)
{
x=xx;
y=yy;
z=zz;
}
float vecLength()
{
return sqrt(x*x+y*y+z*z);
}
void normalize()
{
if ( vecLength()!=0)
{
x=x/vecLength();
y=y/vecLength();
z=z/vecLength();
}
}
}
以上三个 normalize()有什么不同?
注:最后一个是错的!