コード例 #1
0
        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++;
            }
        }