Aktywne Wpisy
ZAWADIAK +10
Widzę, że cenzura na wykopie w ukrywaniu przestępstw, ataków agresji ukraińców na polaków ma się dobrze.
Znalezisko w którym nastoletni ukrainiec bije Polaka, już spadło z rowerka. Sława wukrajiniu. Dołączamy do nowoczesnego zachodu, gdzie również od początku ukrywano przestępstwa turków w Niemczech, czy afrykanów we Francji. Witajcie w nowej wspaniałej polsce (specjalnie z małej litery napisane).
https://wykop.pl/link/7051049/agresywna-grupa-ukrainskich-nastolatkow-atakuje-polakow
#4konserwy #bekazlewactwa #ukraina #antyneuropa #moderacjacontent #cenzura #polska
Znalezisko w którym nastoletni ukrainiec bije Polaka, już spadło z rowerka. Sława wukrajiniu. Dołączamy do nowoczesnego zachodu, gdzie również od początku ukrywano przestępstwa turków w Niemczech, czy afrykanów we Francji. Witajcie w nowej wspaniałej polsce (specjalnie z małej litery napisane).
https://wykop.pl/link/7051049/agresywna-grupa-ukrainskich-nastolatkow-atakuje-polakow
#4konserwy #bekazlewactwa #ukraina #antyneuropa #moderacjacontent #cenzura #polska
ffallen 0
Jakiej przeglądarki używasz w 2023?
- Mozilla Firefox 36.8% (53)
- Opera 13.2% (19)
- Chrome 33.3% (48)
- Microsoft Edge 6.3% (9)
- Safari 5.6% (8)
- Internet Explorer :P 0.7% (1)
- Inna - komentarz 4.2% (6)
#pytanie #pytaniedoeksperta #programowanie #matematyka
chyba najprościej każdy z każdym sprawdzić cy suma promieni jest mniejsza niż odległość pomiędzy środkami
@SuppressWarnings: co? ( ͡° ͜ʖ ͡°)
Dostaję od kilku do kilkunastu takich okręgów ponad 30 razy na sekundę. Typowe obliczanie odległości zawierające potęgi może trochę spowolnić działanie.
@adgebworthy: coś więcej na ten temat?
No ze wzoru Pitagorasa liczysz sobie odległość między środkami:
d = sqrt((x0-x1)^2 + (y0-y1)^2)
I potem sprawdzasz czy ta odległość, jest w przedziale:
|p1-p2| <= d <= p1+p2
Jak chcesz zrobić to wydajniej, to podnosisz obie strony do kwadratu dzięki czemu unikniesz kosztowanego obliczeniowo pierwiastkowania:
(p1-p2)^2 <= (x0-x1)^2 + (y0-y1)^2 <= (p0+p1)^2
Potęgę ^2 możesz zastąpić przesunięciem bitowym o jeden to będzie jeszcze szybciej:
((p1-p2) << 1) <= ((x0-x1) <<
@MDobak: raczej mnożenie przez 2, a nie potęgę
no to liczmy 20 okręgów 50 razy na sekundę:
każdy z każdym to 9500 obliczeń na sekundę, czyli wychodzi trochę ponad 10 milisekund na jedno
a w rzeczywistości to się liczy około 0,0001 ms
co do embedded zalezy od procka ale znam kilka sposobow optymalizacji tego typu algorytmow
No i do tego dochodzi sporo innych obliczeń, dlatego chciałem to ładnie zoptymalizować.
d = sqrt((x0-x1)^2 + (y0-y1)^2)
tzn raz sobie deklarujesz duza tablice z wynikami i porownujesz zamiast liczyc w locie:
https://pl.wikipedia.org/wiki/Tablicowanie
ale nie wiem czy to nie overkill troche
A jak masz dużo okręgów to możesz poszukać jak z tym sobie gamedev radzi ;-) trochę rozwiązań będzie
@SuppressWarnings: Trochę ponad 0,1 ms na jedno. Ale i tak nie powinno to sprawiać problemów, 0,1 ms to kupa czasu dla procesora.