Jeśli mam dwa java.awt.geom.Area
wykonane z połączenia różnych prostych kształtów (wielokątów i elips), czy istnieje metoda znalezienia odległości (tj. Najbliższa odległość) między dwoma obszarami?Odległość między dwoma kształtami/obszarami w Javie?
Dla wyjaśnienia: Załóżmy, że mam dwóch dowolnych obszarów, z których każdy jest utworzony z unii kształtów każdego rodzaju:
//Define the first area
Area a = new Area(new Ellipse2D.Double(50, 50, 100, 100));
a.add(new Area(new Rectangle2D.Double(100, 100, 100, 100)));
//Define the second area
Area b = new Area(new Ellipse2D.Double(200, 300, 100, 100));
b.add(new Area(new Ellipse2D.Double(250, 250, 100, 100)));
Co chcę jest metoda getDistance(Area a, Area b)
że daje mi podwójną reprezentujący najkrótsza odległość między dowolnym punktem w obszarze a a dowolnym punktem w obszarze b. Oto obraz z dwóch powyższych obszarach o linię na niebiesko wskazując odległość Jestem zainteresowany:
Czy istnieje metoda tam, aby to zrobić? Jeśli nie, jak mogę ją wdrożyć?
Dzięki! PathIterator działa dobrze dla moich dotychczasowych celów, szczególnie dla iteratora spłaszczonej ścieżki. – MarcTheSpark