public static void ScaleByVector(List <Vertex> vectorlList, Vertex v)
        {
            Matrix3d R = Matrix3d.Identity;

            R[0, 0] = v.Vector.X;
            R[1, 1] = v.Vector.Y;
            R[2, 2] = v.Vector.Z;

            MatrixUtilsOpenTK.RotateVertices(vectorlList, R);
        }
        public static void ScaleByFactor(List <Vertex> vectorlList, double scale)
        {
            Vector3d scaleVector = new Vector3d(scale, scale, scale);

            Matrix3d R = Matrix3d.Identity;

            R[0, 0] = scaleVector[0];
            R[1, 1] = scaleVector[1];
            R[2, 2] = scaleVector[2];

            MatrixUtilsOpenTK.RotateVertices(vectorlList, R);
        }
        public static void RotateVertices30Degrees(List <Vertex> vectorlList)
        {
            Matrix3d R = Matrix3d.Identity;

            //rotation 30 degrees
            R[0, 0] = 1F;
            R[1, 1] = R[2, 2] = 0.86603F;
            R[1, 2] = -0.5F;
            R[2, 1] = 0.5F;


            MatrixUtilsOpenTK.RotateVertices(vectorlList, R);
        }