EgtGeomKernel 1.4l2 : Aggiunte ApproxWithLines su Curve Semplici.
This commit is contained in:
+28
-3
@@ -56,7 +56,7 @@ Vector3d::FromPolar( double dLen, double dAngDeg)
|
||||
// Quadrato della lunghezza di un vettore
|
||||
//----------------------------------------------------------------------------
|
||||
double
|
||||
Vector3d::LenSq( void) const
|
||||
Vector3d::SqLen( void) const
|
||||
{
|
||||
return ( x * x + y * y + z * z) ;
|
||||
}
|
||||
@@ -268,8 +268,33 @@ Vector3d::ToLoc( const Frame3d& frRef)
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Calcolo angolo di rotazione per portare la componente perpendicolare del
|
||||
// vettore sulla stessa direzione della componente perpendicolare di vtEnd
|
||||
// Calcolo dell'angolo tra il vettore e un altro
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Vector3d::GetAngle( const Vector3d& vtEnd, double& dAngDeg)
|
||||
{
|
||||
double dProSca ;
|
||||
double dProVett ;
|
||||
|
||||
|
||||
// quantità ugualmente proporzionali a coseno e seno
|
||||
dProSca = *this * vtEnd ;
|
||||
dProVett = ( *this ^ vtEnd).Len() ;
|
||||
|
||||
// se entrambe nulle
|
||||
if ( fabs( dProSca) < EPS_ZERO && fabs( dProVett) < EPS_ZERO) {
|
||||
dAngDeg = 0 ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
dAngDeg = atan2( dProVett, dProSca) * RADTODEG ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Calcolo angolo di rotazione per portare la componente del vettore perpendicolare
|
||||
// all'asse di rotazione sulla stessa direzione della componente perpendicolare di vtEnd
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Vector3d::GetRotation( const Vector3d& vtEnd, const Vector3d& vtAx, double& dAngDeg, bool& bDet)
|
||||
|
||||
Reference in New Issue
Block a user