示例#1
0
        public void AddNearest()
        {
            ClassifiedPoint minPoint = Distance.First().Key;
            double          minDist  = Distance.First().Value;

            foreach (var item in Distance)
            {
                if (item.Value < minDist)
                {
                    minPoint = item.Key;
                    minDist  = item.Value;
                }
            }

            Add(minPoint);
        }
示例#2
0
        public void Add(ClassifiedPoint point)
        {
            Points.Add(point);
            point.Group = this;
            Distance.Remove(point);

            foreach (var itm in point.Distance)
            {
                if (itm.Key.Group == null && !Points.Contains(itm.Key))
                {
                    double pointDist;

                    if (!Distance.TryGetValue(itm.Key, out pointDist) || pointDist > itm.Value)
                    {
                        Distance[itm.Key] = itm.Value; // le point le plus proche du goupe est le point le plus proche parmis toutes les distances des points du groupe aux autres points
                    }
                }
            }
        }