public Vector Cross(Matrix by) { float x = vals[I1]*by[Matrix.I11] + vals[I2]*by[Matrix.I21] + vals[I3]*by[Matrix.I31]; float y = vals[I1]*by[Matrix.I12] + vals[I2]*by[Matrix.I22] + vals[I3]*by[Matrix.I32]; float z = vals[I1]*by[Matrix.I13] + vals[I2]*by[Matrix.I23] + vals[I3]*by[Matrix.I33]; return new Vector(x, y, z); }
public void TestCrossVector() { Vector v = new Vector(2, 3, 4); Matrix m = new Matrix(5, 6, 7, 8, 9, 10); Vector shouldBe = new Vector(67, 76, 4); Vector rslt = v.Cross(m); Assert.AreEqual(shouldBe, rslt); }