On Wed, 12 Feb 2003 14:24:29 -0500 David Megginson <[EMAIL PROTECTED]> wrote:
Here is what's in Turbulence(), now:Sounds good -- I was hoping to provoke Jon into doing something like that. Note that we do also model horizonal wind gusts (of longer duration) through FGEnvironment.
--- start ---
vDirectiondAccelDt(eX) = 1 - 2.0*(((double)(rand()))/RAND_MAX);
vDirectiondAccelDt(eY) = 1 - 2.0*(((double)(rand()))/RAND_MAX);
vDirectiondAccelDt(eZ) = 1 - 2.0*(((double)(rand()))/RAND_MAX);
MagnitudedAccelDt = 1 - 2.0*(((double)(rand()))/RAND_MAX);
MagnitudeAccel += MagnitudedAccelDt*rate*State->Getdt();
Magnitude += MagnitudeAccel*rate*State->Getdt();
vDirectiondAccelDt.Normalize();
vDirectionAccel += vDirectiondAccelDt*rate*State->Getdt();
vDirectionAccel.Normalize();
vDirection += vDirectionAccel*rate*State->Getdt();
vDirection.Normalize();
vTurbulence = TurbGain*Magnitude * vDirection;
vTurbulenceGrad = TurbGain*MagnitudeAccel * vDirection;
--- end ---
I think this is what should be done to make the turbulence account for ground proximity:
vDirectiondAccelDt(eX) = 1 - 2.0*(((double)(rand()))/RAND_MAX);
vDirectiondAccelDt(eY) = 1 - 2.0*(((double)(rand()))/RAND_MAX);
vDirectiondAccelDt(eZ) = 1 - 2.0*(((double)(rand()))/RAND_MAX);
MagnitudedAccelDt = 1 - 2.0*(((double)(rand()))/RAND_MAX);
MagnitudeAccel += MagnitudedAccelDt*rate*State->Getdt();
Magnitude += MagnitudeAccel*rate*State->Getdt();
vDirectiondAccelDt.Normalize();
vDirectionAccel += vDirectiondAccelDt*rate*State->Getdt();
vDirectionAccel.Normalize();
vDirection += vDirectionAccel*rate*State->Getdt();
// new stuff here:
if (altitude < GroundProximityAltitude) {
vDirection(eZ) *= (altitude/GroundProximityAltitude);
}
/// end new stuff
vDirection.Normalize();
vTurbulence = TurbGain*Magnitude * vDirection;
vTurbulenceGrad = TurbGain*MagnitudeAccel * vDirection;
--- end ---
It's easy and worth a try. Mind you, this is a really off-the-cuff quick-and-dirty stab. There may be a far better way to do it. I haven't looked at the turbulence code in some time.
Jon
_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel