-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " profesor fir" <f...@g...pl>
Newsgroups: pl.comp.programming
Subject: kulki2d
Date: Tue, 6 Dec 2011 15:15:05 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 83
Message-ID: <jblbhp$7i4$1@inews.gazeta.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1323184505 7748 172.20.26.242 (6 Dec 2011 15:15:05 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 6 Dec 2011 15:15:05 +0000 (UTC)
X-User: fir
X-Forwarded-For: 31.61.130.253
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:193942
[ ukryj nagłówki ](im back - ostatnio mialem zreszta pare zaskakujaco dobrych dni,
mimo zwyklych ciezkich problemow, nabralem troche otuchy i
zaczalem nawet bardziej kojarzyc podstawowe zgadnienie, co ja w
ogole powinienem robic - choc perspektywy nie sa calkiem dobre)
m.in. zapragnalem zrobic sprezyste kulki w 2d i zrobilrm je
czesciowo
http://dl.dropbox.com/u/42887985/no_thing.zip
(spacja mozna przelaczyc grawitacje miedzy 'w dol' a 'do srodka'
aczkolwiek pojawily sie pewne tematy do rozwazenia, chcialbym
zrobic kulki dokladnie precyzyjnie, do wyboru pojawily sie
opcje albo liczyc dokladnie punkty zderzen z rownania kwadratowego
distance(kulka1.x, kulka1.y, kulka2,x, kulka2.y) = r+R
albo liczyc z grubsza (tj co iteracje sprawdzac czy distance < r+R)
za to zagescic np 10 razy krok iteracji (a spokojnie moge np puscic petle
z iteracjami/update'ami pozycji np rzedu 1/10 pixela)
Druga opcja okazala sie w praktyce o wiele lepsza, aczkolwiek i tak
obawiam sie ze sa jakies niedokladnosci;
PYTANIE: CZY KTOS POTRAFI ZNALEZC/PRZEWIDZIEC NIEDOKLADNOSCI W TYM
ALGORYTMIE?
algorytm:
jade po wszystkich kulkach i obliczam nowa pozycje kulki (typu nx=x+vx;
ny=y+vy dla vx, vy rzedu czesci piksela), sprawdzam czy wystapilo zderzenie:
dla kazdej kulki jade (petla zderzen) po wszystkich kulkach jesli distance
miedzy nx ny a jakas kulka jest mniejsza rowna niz r+R (tj 10 pixeli bo
srednica kazdej kulki ma 5 pix) to wymieniam rownolegle do osi zderzenia
skladowe predkosci kulek np -5-> <-2- przed <-2- -5-> po; (tak jest chyba w
fizyce acz nie sprawdzalem), skladowe predkosci zmieniam bez przypisania
kulce nowych wspolrzednych nx, ny bo nie chce dopuscic do sytuacji gdy
jedna kulka wniknelaby w drugą
boje sie ze w niektorych sytuacjach ten 'algorytm' moze jednak nie dzialac
dobrze i wprowadzac bledy, np kulka po nowym kroku moze byc zderzona
z wiecej niz jednna kulka - zmienilem to i odbijam teraz skladowe dla
wszystkich zderzonych ale i tak nie jest dla mnie jasne czy to dziala
bezblednie, bo m,in. wydaje mi sie ze moze dzialac zle jesli kulka zaklinuje
sie miedzy kulkami tj nie bedzie mogla sie poruszyc ani do przodu ani do tylu
tylko bedzie zmienieac i wymieniac wektor predkosci z sasiadami, to moze
dzialac ok fizycznie tj ta predkosc rozprowadzi sie na boki ale nie jestem
pewien, pozatym moga byc inne sytuacje gdy to zadziala cos nie ok
a moim celem byloby zrobienie tego tak by symulacja byla po prostu ok -
dobra
m.in. nie jestem pewien czy w tej wersji programiku to widac ale czasem
jesli kulek bylo duzo a grawitacja dzialala w gol to tworzyly sie
z tych kulek spoczynkowe ale nie realistyczne drzewka, gdzie
gorne kulki opieraly sie na dolnych, realistycznie takie kulki zjechalyby
w dol
kto potrafi znalezc bledy w tym opisanycm wczesniej prostym 'algorytmie'
i jak go poprawic?
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 06.12.11 18:13 M.M.
- 06.12.11 18:37 A.L.
- 06.12.11 18:38 identifikator: 20110701
- 06.12.11 19:20 M.M.
- 06.12.11 19:47 Artur Muszyński
- 06.12.11 20:05 M.M.
- 06.12.11 20:26 Jordan Szubert
- 06.12.11 21:20
- 06.12.11 22:23 A.L.
- 06.12.11 22:23 A.L.
- 07.12.11 04:11 bartekltg
- 07.12.11 04:13 bartekltg
- 07.12.11 04:21 bartekltg
- 07.12.11 13:34 b...@n...pl
- 07.12.11 14:26 A.L.
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz