public ClosedPolyline GetDualPolylineOfPowerK(byte k)
        {
            var result = new ClosedPolyline(_closedPolyline.Nodes);

            for (byte i = 0; i < k; i++)
            {
                result = GetDualPolyline(result);
            }
            return(result);
        }
        private ClosedPolyline GetDualPolyline(ClosedPolyline closedPolyline)
        {
            var nodes           = closedPolyline.Nodes;
            var size            = (byte)nodes.Length;
            var newLineVertexes = new Node[nodes.Length];

            newLineVertexes[0] = GetMiddleOfLine(nodes[0], nodes[size - 1]);
            for (byte i = 1; i < size; i++)
            {
                newLineVertexes[i] = GetMiddleOfLine(nodes[i], nodes[i - 1]);
            }

            return(new ClosedPolyline(newLineVertexes));
        }
 public ClosedPolylineTransformator(ClosedPolyline closedPolyline)
 {
     _closedPolyline = closedPolyline;
     _nodes          = closedPolyline.Nodes;
 }