//生成随机点集 List <IPosition> createPointSet(double pointCount) { RandomPositionSet_InFixedDistribution positionSet = new RandomPositionSet_InFixedDistribution((int)pointCount, dStyle); List <IPosition> posList = new List <IPosition>(); positionSet.InitToTraverseSet(); while (positionSet.NextPosition()) { KD2DPoint point = new KD2DPoint(positionSet.GetPosition()); posList.Add(point); } return(posList); }
List <IPosition> createPointSetWithPrepare(double pointCount) { RandomPositionSet_InFixedDistribution positionSet = new RandomPositionSet_InFixedDistribution((int)pointCount, dStyle); List <IPosition> posList = new List <IPosition>(); minX = float.MaxValue; minY = float.MaxValue; maxX = float.MinValue; maxY = float.MinValue; positionSet.InitToTraverseSet(); while (positionSet.NextPosition()) { KD2DPoint point = new KD2DPoint(positionSet.GetPosition()); posList.Add(point); if (minX > point.GetX()) { minX = point.GetX(); } else if (maxX < point.GetX()) { maxX = point.GetX(); } if (minY > point.GetY()) { minY = point.GetY(); } else if (maxY < point.GetY()) { maxY = point.GetY(); } } runM2MNNPP(0, posList); runKDTNNPP(0, posList); return(posList); }