Beispiel #1
0
        public FixMatrix Mul(FixMatrix other)
        {
            return(new FixMatrix(
                       right: new FixVector(
                           FixVector.Dot3(Right.X, Up.X, Forward.X, other.Right),
                           FixVector.Dot3(Right.Y, Up.Y, Forward.Y, other.Right),
                           FixVector.Dot3(Right.Z, Up.Z, Forward.Z, other.Right)),
                       up: new FixVector(
                           FixVector.Dot3(Right.X, Up.X, Forward.X, other.Up),
                           FixVector.Dot3(Right.Y, Up.Y, Forward.Y, other.Up),
                           FixVector.Dot3(Right.Z, Up.Z, Forward.Z, other.Up)),
                       forward: new FixVector(
                           FixVector.Dot3(Right.X, Up.X, Forward.X, other.Forward),
                           FixVector.Dot3(Right.Y, Up.Y, Forward.Y, other.Forward),

                           FixVector.Dot3(Right.Z, Up.Z, Forward.Z, other.Forward))
                       ));
        }
Beispiel #2
0
 public FixMatrix Sub(FixMatrix other)
 {
     return(new FixMatrix(this.Right - other.Right, this.Up - other.Up, this.Forward - other.Forward));
 }
Beispiel #3
0
 public FixMatrix Add(FixMatrix other)
 {
     return(new FixMatrix(this.Right + other.Right, this.Up + other.Up, this.Forward + other.Forward));
 }