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.
Użyj klasy Graphics2D i jej metod setStroke i draw(Shape).
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.
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).
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ć.
Znalazłem: cademia.org/frontend/media/zip/2_0/CADEMIA_2.1RC4.zip.
Zobacz przy okazji JTS, sporo bibliotek Javowych robiących różne rzeczy 'mapowe' () korzysta właśnie z tego.