fillOval z pustym polem

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.

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

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


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 1x, ostatnio: bogdans
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.

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
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).


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 1x, ostatnio: bogdans
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.

airborn
  • Rejestracja:prawie 16 lat
  • Ostatnio:prawie 7 lat
  • Postów:274
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.