Beispiel #1
0
 public DerivedFrameSystem(GaFrame baseFrame, GaFrame derivedFrame, GaOuterMorphism derivedToBaseOm)
 {
     BaseFrame       = baseFrame;
     DerivedFrame    = derivedFrame;
     DerivedToBaseOm = derivedToBaseOm;
     BaseToDerivedOm = derivedToBaseOm.InverseOm();
 }
Beispiel #2
0
        internal GaFrameNonOrthogonal(GaFrame baseOrthoFrame, ISymbolicMatrix ipm, GaOuterMorphism derivedToBaseOm, GaOuterMorphism baseToDerivedOm)
        {
            if (baseOrthoFrame.IsOrthogonal == false)
            {
                throw new GMacSymbolicException("Base frame must be orthogonal");
            }

            if (ipm.IsSymmetric() == false || ipm.IsDiagonal())
            {
                throw new GMacSymbolicException("Inner product matrix must be symmetric and non-diagonal");
            }

            InnerProductMatrix = ipm.ToMathematicaMatrix();
            Dfs = new DerivedFrameSystem(baseOrthoFrame, this, derivedToBaseOm, baseToDerivedOm);
        }