/// <summary> /// Метод для визуализации графа /// </summary> public void Visualize() { //Считаем кол-во градусов int N = 360 / NumberOfDots; double x = 0; double y = 0; //Определяем центр int startX = G.centrX, startY = G.centrY; //Получаем координаты вершин for (int i = 0; i < NumberOfDots; i++) { x = G.RTr * Math.Cos(((0 - N) * i) * Math.PI / 180); y = G.RTr * Math.Sin(((0 - N) * i) * Math.PI / 180); //Добавляем в массив вершин вершину с вычисленными координатами Vertex v = new Vertex(startX + Convert.ToInt32(x), startY + Convert.ToInt32(y)); V.Add(v); } int[,] tmp = new int[NumberOfDots, NumberOfDots]; for (int i = 0; i < NumberOfDots; i++) { for (int j = 0; j < NumberOfDots; j++) { tmp[i, j] = Matrix[i, j]; } } //Проходим по матрице смежности, записываем в массив граней весь список существующих граней у графа for (int i = 0; i < NumberOfDots; i++) { for (int j = 0; j < NumberOfDots; j++) { if (tmp[i, j] == 1) { Edge e = new Edge(i, j); E.Add(e); tmp[i, j] = 0; tmp[j, i] = 0; } } } //Рисуем весь граф G.DrawAllGraph(V, E); }