fillOval z pustym polem

0

Witam, wie ktoś może jak narysować koło z pustym środkiem nie używając polygonów? Chodzi mi dokładnie o narysowanie koła, o promieniu 50 i usunąć z niego mniejsze koło o promieniu 25. Zależy mi, by metoda intersects wyczuwała tylko obszar który pozostał widoczny, czyli gruby okrąg.

0

Użyj klasy Graphics2D i jej metod setStroke i draw(Shape).

0

Tak, tylko, że nawet jeśli używam draw to i tak intersects widzi "jego wnętrze" jako wypełnione pole. Mi zależy, żeby zrobić to tak aby koło widziało kolizje tylko na jego obrzeżach, a jeśli znajdzie się coś wewnątrz to nie czyta tego jako kolizji.

1

To rysuj wpierw duże koło A, potem małe koło B w kolorze tła. I sprawdzaj czy zachodzi intersect(A) && !intersect(B).
Przeczytałem dokumentację, powinno być A.intersects(prostokąt) && !B.intersects(prostokąt).

0

Też się zorientowałem, że nie ma bezpośrednio intersects między kołami, dlatego szukałem i znalazłem Cademia, tutaj dokumentacja: http://www.cademia.org/frontend/doc/cib/util/geo/Geo2D.html
Tylko nie wiem za bardzo gdzie pobrać bibliotekę, żebym mógł to wykorzystać.

0

Znalazłem: cademia.org/frontend/media/zip/2_0/CADEMIA_2.1RC4.zip.

0

Zobacz przy okazji JTS, sporo bibliotek Javowych robiących różne rzeczy 'mapowe' () korzysta właśnie z tego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1