Vulkan

normalize()错误

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()有什么不同?

注:最后一个是错的!

posted on 2012-05-08 22:22  Vulkan  阅读(147)  评论(0编辑  收藏  举报

导航