//---------------------------------------------------------------------------- // EgalTech 2014-2014 //---------------------------------------------------------------------------- // File : Angle.cpp Data : 14.07.14 Versione : 1.5g2 // Contenuto : Implementazione funzioni per gestione angoli. // // // // Modifiche : 14.07.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "/EgtDev/Include/EGkAngle.h" #include "/EgtDev/Include/EGkGeoConst.h" //---------------------------------------------------------------------------- double AngleNearAngle( double dAngDeg, double dAngRefDeg) { // devo portare l'angolo entro +/- un angolo piatto dal riferimento while ( dAngDeg > dAngRefDeg + ANG_STRAIGHT + EPS_ANG_ZERO) dAngDeg -= ANG_FULL ; while ( dAngDeg < dAngRefDeg - ANG_STRAIGHT - EPS_ANG_ZERO) dAngDeg += ANG_FULL ; return dAngDeg ; } //---------------------------------------------------------------------------- double DiffAngle( double dAng1Deg, double dAng2Deg) { double dAng1Near2Deg = AngleNearAngle( dAng1Deg, dAng2Deg) ; return ( dAng1Near2Deg - dAng2Deg) ; } //---------------------------------------------------------------------------- double MediaAngle( double dAng1Deg, double dAng2Deg, double dCoeff) { double dAng1Near2Deg = AngleNearAngle( dAng1Deg, dAng2Deg) ; return ( dAng1Near2Deg * ( 1 - dCoeff) + dAng2Deg * dCoeff) ; }