Si j'ai deux System.Drawing.Rectangle
objets sur une toile et un Point
, quelle est la meilleure façonpour calculer qui Rectangle
(une partie de la Rectangle
, non seulement son Location
Point
) est le plus proche de celui Point
?Comment trouver quel rectangle est le plus proche d'un point
Un exemple d'un test unitaire:
Rectangle one = new Rectangle (0, 0, 10, 10);
Rectangle two = new Rectangle (20, 20, 10, 10);
Point point = new Point(14, 14);
Rectangle actual = ClosestToPoint(point, one, two);
// should be closer to one since one's bottom right is at (10, 10)
Assert.That(actual, Is.SameAs(one));
// method to write
public Rectangle ClosestToPoint(Point p, params Rectangle[] rectangles) { }
Utilisez une feuille de papier et un crayon pour faire le tri. Il y a un nombre limité de scénarios. Il s'agit par ailleurs d'une question ambiguë, vous devrez spécifier ce qui se passe lorsqu'un point est * dans * un ou plusieurs rectangles. –
Certaines réponses peuvent également être trouvées ici: http://stackoverflow.com/questions/5254838/calculating-distance-between-a-point-and-a-rectangular-box-nearest-point/ – Mo0gles