private void DrawRings() { int ringCounter = 0; foreach (List <Node> ring in Rings.Skip(1)) { double radius = Radius * ((ringCounter + 1.0) / (Rings.Count - 1.0)); RingCoordinates.Add(new List <Coordinate <Node> >()); double angle = 0; double incrementor = 2.0 * Math.PI / ring.Count; foreach (Node item in ring) { RingCoordinates[ringCounter].Add(new Coordinate <Node> { CoordinateX = CenterX + (radius * Math.Cos(angle)), CoordinateY = CenterY + (radius * Math.Sin(angle)), Item = item }); angle += incrementor; } ringCounter++; } }