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)) )); }
public FixMatrix Sub(FixMatrix other) { return(new FixMatrix(this.Right - other.Right, this.Up - other.Up, this.Forward - other.Forward)); }
public FixMatrix Add(FixMatrix other) { return(new FixMatrix(this.Right + other.Right, this.Up + other.Up, this.Forward + other.Forward)); }