/// <summary>
        /// Begins the rotations
        /// </summary>
        public void RunRotate()
        {
            var pointAfterTransf = new ObservableCollection <Point>();
            var pointAround      = SelectedIndexPointsComboBox;

            NewPointCollection = PointCollection;
            int x = 0;

            AroundPoint = NewPointCollection[SelectedIndexPointsComboBox];
            var RotateMatrix = GetRotateMatrix();

            foreach (var item in NewPointCollection)
            {
                if (x == pointAround)
                {
                    x++;
                    pointAfterTransf.Add(item);
                    continue;
                }
                var newP = PointOutVector(Vector(item) * RotateMatrix);
                NewChildrenCanvas.Add(CreateEllipse(newP.X, newP.Y));
                NewChildrenCanvas.Add((CreateLabel(newP)));
                pointAfterTransf.Add(newP);
            }
            DrawLine(pointAfterTransf);
            NewPointCollection = pointAfterTransf;
        }
        private void DrawLine(ObservableCollection <Point> points)
        {
            var nx = points[0];

            foreach (var item in points)
            {
                NewChildrenCanvas.Add(DrawLine(nx.X, nx.Y, item.X, item.Y));
                nx.X = item.X;
                nx.Y = item.Y;
            }
        }
 private void ClearCollections(object obj)
 {
     NewChildrenCanvas.Clear();
     NewPointCollection.Clear();
 }