Beispiel #1
0
float CCalc::Sqrt3( LOCATION& loc0, LOCATION& loc1 )
{
	float x2, z2;
	float max2, min2;
	float max;
	//float maxdiv;
	int   index;

	x2 = (loc0.x - loc1.x) * (loc0.x - loc1.x);
	z2 = (loc0.y - loc1.y) * (loc0.y - loc1.y) + (loc0.z - loc1.z) * (loc0.z - loc1.z);

	if( x2 > z2 ){
		max = (float)fabs( loc0.x - loc1.x );
		max2 = x2;
		min2 = z2;
	}else{
		max = Sqrt2( loc0.y - loc1.y, loc0.z - loc1.z );
		max2 = z2;
		min2 = x2;
	}
	if( max2 ){
		index = (int)( 1000 * min2 / max2 );
		return ( max * sqrtindex[ index ] );
	}
	return 0.0f;
}
Beispiel #2
0
float CCalc::Sqrt3( float x, float y, float z )
{
	float x2, z2;
	float max2, min2;
	float max;
	//float maxdiv;
	int   index;

	x2 = x * x;
	z2 = y * y + z * z;

	if( x2 > z2 ){
		max = (float)fabs( x );
		max2 = x2;
		min2 = z2;
	}else{
		max = Sqrt2( y, z );
		max2 = z2;
		min2 = x2;
	}
	if( max2 ){
		index = (int)( 1000 * min2 / max2 );
		return ( max * sqrtindex[ index ] );
	}
	return 0.0f;
}
Beispiel #3
0
double Distance( double x, double y )
{
  double res = x*x + y*y;
  return Sqrt2( res );
};