예제 #1
0
void FGAuxiliary::UpdateWindMatrices(void)
{
  double ca, cb, sa, sb;

  ca = cos(alpha);
  sa = sin(alpha);
  cb = cos(beta);
  sb = sin(beta);

  mTw2b(1,1) =  ca*cb;
  mTw2b(1,2) = -ca*sb;
  mTw2b(1,3) = -sa;
  mTw2b(2,1) =  sb;
  mTw2b(2,2) =  cb;
  mTw2b(2,3) =  0.0;
  mTw2b(3,1) =  sa*cb;
  mTw2b(3,2) = -sa*sb;
  mTw2b(3,3) =  ca;

  mTb2w = mTw2b.Transposed();
}
예제 #2
0
void FGAuxiliary::UpdateWindMatrices(void)
{
  double ca, cb, sa, sb;

  ca = cos(alpha);
  sa = sin(alpha);
  cb = cos(beta);
  sb = sin(beta);

  mTw2b(1,1) =  ca*cb;
  mTw2b(1,2) = -ca*sb;
  mTw2b(1,3) = -sa;
  mTw2b(2,1) =  sb;
  mTw2b(2,2) =  cb;
  mTw2b(2,3) =  0.0;
  mTw2b(3,1) =  sa*cb;
  mTw2b(3,2) = -sa*sb;
  mTw2b(3,3) =  ca;

  mTb2w = mTw2b.Transposed();

  // The pitot frame is the same as the body frame except rotated about the
  // Y axis by the pitot attachment angle.

  ca = cos(alpha + in.PitotAngle);
  sa = sin(alpha + in.PitotAngle);

  mTw2p(1,1) =  ca*cb;
  mTw2p(1,2) = -ca*sb;
  mTw2p(1,3) = -sa;
  mTw2p(2,1) =  sb;
  mTw2p(2,2) =  cb;
  mTw2p(2,3) =  0.0;
  mTw2p(3,1) =  sa*cb;
  mTw2p(3,2) = -sa*sb;
  mTw2p(3,3) =  ca;

}