2009-09-02 17 views
5

Mam zestaw punktów, które chcę przekształcić w zamknięty wielokąt w Javie. Obecnie próbuję użyć java.awt.geom.Point2D i java.awt.geom.Area, ale nie mogę wymyślić, jak zmienić grupę punktów w obszar.Konwertuj listę java.awt.geom.Point2D na java.awt.geom.Area

Myślę, że mogę zdefiniować zestaw Line2D na podstawie punktów, a następnie dodać je do Obszarów, ale to dużo pracy i jestem leniwy. Czyli jest łatwiejszy sposób.

Problem polega na tym, że mam listę współrzędnych szerokości geograficznej i chcę zbudować obszar, którego mogę użyć do testowania trafień.

Poza jądrem biblioteki Java są również możliwe.

Uaktualnienie, przyjrzałem się użyciu java.awt.Polygon, ale obsługuje on tylko ints i używam podwójnych dla współrzędnych.

Odpowiedz

3

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4077518

słyszeć, "klient"? Powinieneś używać GeneralPath, nawet jeśli brak Polygon2D od końca lat 90. jest oczywistą dziurą wielkości monster-truck w interfejsie API.

+1

Wskazówka jest realizacja Polygon2D pływających wokół którego pochodzi od UI Berkeley laboratorium: http://www.google.com/url?sa=t&source=web&ct=res&cd=5&url=http%3A%2F%2Fptolemy.eecs.berkeley.edu%2F~ptII%2FptolemyII%2FptIIlatest%2FptII% 2Fdiva% 2Futil% 2Fjava2d% 2FPolygon2D.java & ei = BNSeSqr3O4y4M7eMmIwC & usg = AFQjCNErxCV1f6zlpi60FEqPkgG1rAfx5A & sig2 = eWfBVNHxVQzY1eJ3DZvC1Q – M1EK

+1

lepszy link: http://ptolemy.eecs.berkeley.edu/~ptII/pto lemyII/ptIIlatest/ptII/diva/util/java2d/ – M1EK

+0

'GeneralPath' jest już klasą starszą. Zobacz [to pytanie i odpowiedzi na niektóre alternatywy] (http://stackoverflow.com/q/11465330/935676). Świętujemy 20. rocznicę tego błędu we wrześniu;) – amoebe

1

Jeśli faktycznie pracujesz z Geodezyjnymi wartościami lat/lon, możesz faktycznie użyć OpenMap, aby wykonać niektóre z tych prac. Właśnie spędziłem trochę czasu używając Geo class w tym interfejsie API do odbijania obiektu wokół obszaru zdefiniowanego przez wielokąt punktów lat/lon. Istnieje intersection calls, a wszystko i cała matematyka jest wykonywana sferycznie, więc punkty są bardziej poprawne, jeśli chodzi o projekcje.

0

Najprostszym (i leniwym) zadaniem jest utworzenie ramki ograniczającej dla punktów od maksymalnej i minimalnej wartości rzędów X, Y.

Jeśli chcesz bliżej pasuje wtedy zamiast opracować własny algorytm, to może być dobrym miejscem do rozpoczęcia:

Powiązane problemy