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