EgtGeomKernel 1.4l2 : Aggiunte ApproxWithLines su Curve Semplici.

This commit is contained in:
Dario Sassi
2013-12-21 16:18:29 +00:00
parent 6287c113b4
commit 30f8c71894
21 changed files with 548 additions and 105 deletions
+28 -3
View File
@@ -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)