private static IFigure CreateHexagonSide(IMatrix transformation, IMaterial material)
        {
            var side = new GroupFigure(transformation);

            side.Add(CreateHexagonCorner(material));
            side.Add(CreateHexagonEdge(material));
            return(side);
        }
        public static IFigure CreateHexagon(IMatrix transformation, IMaterial material)
        {
            var hex = new GroupFigure(transformation);

            for (int n = 0; n < 6; ++n)
            {
                hex.Add(CreateHexagonSide(MatrixOperations.Geometry3D.RotateY(n * Math.PI / 3.0), material));
            }
            return(hex);
        }