/// <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; } }