public void TestAssignTransform() { var shape = new TestAShape(); shape.Transform = Matrix4.Translation(2, 3, 4); Assert.AreEqual(Matrix4.Translation(2, 3, 4), shape.Transform); }
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); }
public void TestIntersectTranslatedShapeRay() { var shape = new TestAShape { Transform = Matrix4.Translation(5, 0, 0) }; var ray = new Ray(Tuple.Point(0, 0, -5), Tuple.Vector(0, 0, 1)); shape.Intersect(ray); Assert.AreEqual(Tuple.Point(-5, 0, -5), shape.SavedRay.Origin); Assert.AreEqual(Tuple.Vector(0, 0, 1), shape.SavedRay.Direction); }
public void TestIntersectScaledRay() { var shape = new TestAShape { Transform = Matrix4.Scaling(2, 2, 2) }; var ray = new Ray(Tuple.Point(0, 0, -5), Tuple.Vector(0, 0, 1)); shape.Intersect(ray); Assert.AreEqual(Tuple.Point(0, 0, -2.5), shape.SavedRay.Origin); Assert.AreEqual(Tuple.Vector(0, 0, 0.5), shape.SavedRay.Direction); }
public void TestShapeMaterialSet() { var shape = new TestAShape(); shape.Material.Ambient = 1; var mat = new Material { Ambient = 1 }; Assert.AreEqual(mat, shape.Material); }
public void TestTransform() { var shape = new TestAShape(); Assert.AreEqual(Matrix4.Identity, shape.Transform); }
public void TestShapeMaterial() { var shape = new TestAShape(); Assert.AreEqual(new Material(), shape.Material); }