public void TestNormalizedRotateLikeZVector() { Point3 norm, p; Random rand = new Random(); for(int i = 0x00; i < TestParameters.PointTest; i++) { double x = 2.0*rand.NextDouble()-1.0d; double y = 2.0d*rand.NextDouble()-1.0d; double z = 2.0d*rand.NextDouble()-1.0d; p = new Point3(x, y, z); p.Normalize(); norm = new Point3(0.0d, 0.0d, 1.0d); norm.NormalizedRotateLikeZVector(p.X, p.Y, p.Z); Assert.IsTrue(Math.Abs(norm.X-p.X) <= Math.Sqrt(Maths.GlobalEpsilon)); Assert.IsTrue(Math.Abs(norm.Y-p.Y) <= Math.Sqrt(Maths.GlobalEpsilon)); Assert.IsTrue(Math.Abs(norm.Z-p.Z) <= Math.Sqrt(Maths.GlobalEpsilon)); } }