From: andy Date: Tue, 5 Nov 2002 21:36:47 +0000 (+0000) Subject: Blindingly stupid ground effect bug. It interpolated in the wrong direction X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=7b7de3d3e0065b449820a516b51e5203d8a5a509;p=flightgear.git Blindingly stupid ground effect bug. It interpolated in the wrong direction (zero at ground, maximum at 1-span!) --- diff --git a/src/FDM/YASim/Airplane.cpp b/src/FDM/YASim/Airplane.cpp index 53df46542..f2be3e0dc 100644 --- a/src/FDM/YASim/Airplane.cpp +++ b/src/FDM/YASim/Airplane.cpp @@ -582,7 +582,7 @@ void Airplane::compile() // Ground effect float gepos[3]; float gespan = _wing->getGroundEffect(gepos); - _model.setGroundEffect(gepos, gespan, 0.3f); + _model.setGroundEffect(gepos, gespan, 0.15f); solveGear(); solve(); diff --git a/src/FDM/YASim/Model.cpp b/src/FDM/YASim/Model.cpp index 1a098358c..8cc50c9d0 100644 --- a/src/FDM/YASim/Model.cpp +++ b/src/FDM/YASim/Model.cpp @@ -260,8 +260,9 @@ void Model::calcForces(State* s) float dist = ground[3] - Math::dot3(ground, _wingCenter); if(dist > 0 && dist < _groundEffectSpan) { float fz = Math::dot3(faero, ground); - Math::mul3(fz * _groundEffect * dist/_groundEffectSpan, - ground, faero); + fz *= (_groundEffectSpan - dist) / _groundEffectSpan; + fz *= _groundEffect; + Math::mul3(fz, ground, faero); _body.addForce(faero); }