public void TestPatternCylindricalMapping3D()
        {
            (double u, double v)uv;

            uv = TextureMap.CylindricalMap(new Point(0, 0, -1));
            Assert.AreEqual(uv, (0.0, 0.0));

            uv = TextureMap.CylindricalMap(new Point(0, 0.5, -1));
            Assert.AreEqual(uv, (0.0, 0.5));

            uv = TextureMap.CylindricalMap(new Point(0, 1, -1));
            Assert.AreEqual(uv, (0.0, 0.0));

            uv = TextureMap.CylindricalMap(new Point(0.70711, 0.5, -0.70711));
            Assert.AreEqual(uv, (0.125, 0.5));

            uv = TextureMap.CylindricalMap(new Point(1, 0.5, 0));
            Assert.AreEqual(uv, (0.25, 0.5));

            uv = TextureMap.CylindricalMap(new Point(0.70711, 0.5, 0.70711));
            Assert.AreEqual(uv, (0.375, 0.5));

            uv = TextureMap.CylindricalMap(new Point(0, -0.25, 1));
            Assert.AreEqual(uv, (0.5, 0.75));

            uv = TextureMap.CylindricalMap(new Point(-0.70711, 0.5, 0.70711));
            Assert.AreEqual(uv, (0.625, 0.5));

            uv = TextureMap.CylindricalMap(new Point(-1, 1.25, 0));
            Assert.AreEqual(uv, (0.75, 0.25));

            uv = TextureMap.CylindricalMap(new Point(-0.70711, 0.5, -0.70711));
            Assert.AreEqual(uv, (0.875, 0.5));
        }