From: <sv...@ww...> - 2004-11-09 08:53:38
|
Author: delta Date: 2004-11-09 00:53:30 -0800 (Tue, 09 Nov 2004) New Revision: 1302 Modified: trunk/CSP/CSPSim/Source/FlightDynamics.cpp Log: * Replaced a double test on m_Alpha with clampTo. * Changed the way m_Beta is calculated. Browse at: https://www.zerobar.net/viewcvs/viewcvs.cgi?view=rev&rev=1302 Modified: trunk/CSP/CSPSim/Source/FlightDynamics.cpp =================================================================== --- trunk/CSP/CSPSim/Source/FlightDynamics.cpp 2004-11-07 20:11:04 UTC (rev 1301) +++ trunk/CSP/CSPSim/Source/FlightDynamics.cpp 2004-11-09 08:53:30 UTC (rev 1302) @@ -100,17 +100,18 @@ simdata::Vector3 airflowBody = *m_VelocityBody - m_WindVelocityBody; m_Airspeed = airflowBody.length(); m_Alpha = -atan2(airflowBody.z(), airflowBody.y()); + if (h > 0.0) { m_AlphaDot = ( m_Alpha - m_Alpha0 ) / h; } // else keep previous value // restrict m_alphaDot in vertical stalls - if (m_AlphaDot > 1.0) m_AlphaDot = 1.0; - if (m_AlphaDot < -1.0) m_AlphaDot = -1.0; + m_AlphaDot = simdata::clampTo(m_AlphaDot,-1.0,1.0); // Calculate side angle // beta is 0 when v velocity (i.e. side velocity) is 0; note here v is m_AirflowBody.x() - m_Beta = atan2(airflowBody.x(), airflowBody.y()); + //m_Beta = atan2(airflowBody.x(), airflowBody.y()); + m_Beta = asin(airflowBody.x()/(1.0 + m_Airspeed)); } void FlightDynamics::getInfo(InfoList &info) const { |