В псевдокоде (не указан язык c и ОЧЕНЬ слабо напечатан):
function getDistance(point pointA, point pointB){
diffx = absoluteValue(pointA.x - pointB.x);
diffy = absoluteValue(pointA.y - pointB.y);
return squareRoot(diffx^2 + diffy^2)
}
for point1 in df1{
//each obj stores a point and a corresponding distance
Object distance{
point2Identifier;
distanceFromPoint1;
}
ObjectArray distances; //Array of distance objects
for point2 in df2{
distances.add(getDistance(point1, point2));
}
distances.getSmallest /*Finds the distance obj with the smallest distanceFromPoint1 prop and stores it however you see fit*/
}
Это было не в моей голове и быстро набиралось, так что упрощение и реализация остаются за вами. Скорее всего, это не самый быстрый и не самый эффективный способ достижения того, чего вы хотите. Я уверен, что это может быть значительно упрощено, особенно в Python. Как вы, наверное, знаете, API изобилует методами для упрощения математики в коде.