eGospodarka.pl
eGospodarka.pl poleca

  • 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/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: