public void TestNormalTransFormedShape() { var shape = new TestAShape { Transform = Matrix4.Scaling(1, 0.5, 1) * Matrix4.RotationZ(System.Math.PI / 5) }; var n = shape.Normal(Tuple.Point(0, 0.70711, -0.70711)); Assert.AreEqual(Tuple.Vector(0, 0.97014, -0.24254), n); }
public void TestNormalTranslatedShape() { var shape = new TestAShape { Transform = Matrix4.Translation(0, 1, 0) }; var n = shape.Normal(Tuple.Point(0, 1.70711, -0.70711)); Assert.AreEqual(Tuple.Vector(0, 0.70711, -0.70711), n); }