eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingtypologia errorow aplikacji
Ilość wypowiedzi w tym wątku: 88

  • 71. Data: 2011-05-06 22:51:30
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: Michoo <m...@v...pl>

    W dniu 06.05.2011 09:11, kenobi pisze:
    > int_pair* collision = dish_up_collisions(Spheric_entity* object );
    Mogę dać funkcję wykrywającą wszystkie pary kolizyjne, ale o sygnaturze:
    std::vector<std::pair<boost::shared_ptr,boost::share
    d_ptr> >
    detect_collisions(std::vector<boost::shared_ptr>);

    --
    Pozdrawiam
    Michoo


  • 72. Data: 2011-05-07 05:40:07
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: "kenobi" <g...@p...onet.pl>

    > W dniu 06.05.2011 09:11, kenobi pisze:

    > > int_pair* collision = dish_up_collisions(Spheric_entity* object );

    > Mogę dać funkcję wykrywającą wszystkie pary kolizyjne, ale o sygnaturze:
    > std::vector<std::pair<boost::shared_ptr,boost::share
    d_ptr> >
    > detect_collisions(std::vector<boost::shared_ptr>);


    konkurs polega na tym zeby zapodac kod ktory bedzie dzialal
    szybciej niz inne podane (np zeby uciaglal jak najwieksza
    tablice wejsciowa w 30 milisekund)

    mozna dac squerowego loopa

    int_pair* dish_up_collisions(Spheric_entity* object )
    {

    int t=0;

    for(int j=0; j<objects_length; j++)
    for(int i=0; i<objects_length; i++)
    {
    if( object_distance(i,j) < object[i].radius + object[j].radius )
    {
    collision[t].i = i;
    collision[t].j = j;
    t++;
    }

    }

    }

    ale bedzie tu mulic jak cholera

    jakie sztuczki optymalizacyjne? mi przychodza dwie do glowy - wstepny
    podzial na sektory, oznaczanie w kazdej klatce bitflagami tych
    objektow ktore sie poruszyly i sprawdzanie tylko ich

    za jakis czas bede potrzebowac takiej funkcyjki - choc tez jak mysle
    takie ogolne rozwiazania sa z definicji wolne i tak naprawde moze
    nalezy uzyc szczegolowych

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 73. Data: 2011-05-07 09:26:05
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-05-07 07:40, kenobi pisze:

    >
    > jakie sztuczki optymalizacyjne? mi przychodza dwie do glowy - wstepny
    > podzial na sektory, oznaczanie w kazdej klatce bitflagami tych
    > objektow ktore sie poruszyly i sprawdzanie tylko ich


    Stawiam dolary przeciw orzechom, ze sztuczki nie dadza ulamka tego, co
    którys z uznanych algorytmów na bazie matematyki, ale to trzeba wiecej
    czytac niz kodowac sztuczki.


  • 74. Data: 2011-05-07 09:44:39
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: Wojciech Muła <w...@p...null.onet.pl.invalid>

    On Sat, 07 May 2011 11:26:05 +0200 Jacek Czerwinski <...@...z.pl> wrote:

    > W dniu 2011-05-07 07:40, kenobi pisze:
    > > jakie sztuczki optymalizacyjne? mi przychodza dwie do glowy -
    > > wstepny podzial na sektory, oznaczanie w kazdej klatce bitflagami
    > > tych objektow ktore sie poruszyly i sprawdzanie tylko ich
    >
    > Stawiam dolary przeciw orzechom, ze sztuczki nie dadza ulamka tego,
    > co którys z uznanych algorytmów na bazie matematyki, ale to trzeba
    > wiecej czytac niz kodowac sztuczki.

    Akurat "podział na sektory" jest dobrą, algorytmiczną metodą. :)

    w,


  • 75. Data: 2011-05-07 11:02:47
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: Michoo <m...@v...pl>

    W dniu 07.05.2011 07:40, kenobi pisze:
    > ale bedzie tu mulic jak cholera
    Bo to jest algorytm do niczego.


    > jakie sztuczki optymalizacyjne? mi przychodza dwie do glowy - wstepny
    > podzial na sektory, oznaczanie w kazdej klatce bitflagami tych
    > objektow ktore sie poruszyly i sprawdzanie tylko ich
    Sortujesz wektor obiektów po x,y,z. Przeglądasz liniowo ten wektor
    sprawdzając czy dwie współrzędne środków różnią się o mniej niż promień
    (czyli robisz test na kolizję 2 sześcianów. Jeżeli tak to robisz
    dokładny test liczeniem pierwiastków. Całość masz w
    O(n*(log(n)+1))=O(n*logN).

    W momencie gdy całość trzymasz już posortowane w ten sposób w jakimś
    drzewie koszt jeszcze może spaść bo zmieniasz układ (w O(log(n)) tylko
    gdy doszło do zmiany w porządku sortowania danego obiektu.

    Jak masz dane w octtree to też można optymalizować.

    --
    Pozdrawiam
    Michoo


  • 76. Data: 2011-05-07 11:08:44
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: Michoo <m...@v...pl>

    Errata:

    > O(n*(log(n)+1))=O(n*logN).
    Przy założeniu, że kolizje są _rzadkie_ w stosunku do liczby obiektów.
    Bo w sytuacji gdy każdy obiekt koliduje z każdym nie da się przeskoczyć
    tego, że to generuje (n*(n-1)/2) par.

    --
    Pozdrawiam
    Michoo


  • 77. Data: 2011-05-07 11:28:51
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-05-07 11:44, Wojciech Muła pisze:
    > On Sat, 07 May 2011 11:26:05 +0200 Jacek Czerwinski<...@...z.pl> wrote:
    >
    >> W dniu 2011-05-07 07:40, kenobi pisze:
    >>> jakie sztuczki optymalizacyjne? mi przychodza dwie do glowy -
    >>> wstepny podzial na sektory, oznaczanie w kazdej klatce bitflagami
    >>> tych objektow ktore sie poruszyly i sprawdzanie tylko ich
    >>
    >> Stawiam dolary przeciw orzechom, ze sztuczki nie dadza ulamka tego,
    >> co którys z uznanych algorytmów na bazie matematyki, ale to trzeba
    >> wiecej czytac niz kodowac sztuczki.
    >
    > Akurat "podział na sektory" jest dobrą, algorytmiczną metodą. :)
    >
    ok, zwracam honor ... przyznam, odpuscilem sobie nieco psychoanalityczne
    szczególy.


  • 78. Data: 2011-05-07 11:44:34
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: "kenobi" <g...@p...onet.pl>

    > W dniu 07.05.2011 07:40, kenobi pisze:

    > > ale bedzie tu mulic jak cholera
    > Bo to jest algorytm do niczego.
    >
    >
    > > jakie sztuczki optymalizacyjne? mi przychodza dwie do glowy - wstepny
    > > podzial na sektory, oznaczanie w kazdej klatce bitflagami tych
    > > objektow ktore sie poruszyly i sprawdzanie tylko ich
    > Sortujesz wektor obiektów po x,y,z. Przeglądasz liniowo ten wektor
    > sprawdzając czy dwie współrzędne środków różnią się o mniej niż promień
    > (czyli robisz test na kolizję 2 sześcianów. Jeżeli tak to robisz
    > dokładny test liczeniem pierwiastków. Całość masz w
    > O(n*(log(n)+1))=O(n*logN).
    >
    > W momencie gdy całość trzymasz już posortowane w ten sposób w jakimś
    > drzewie koszt jeszcze może spaść bo zmieniasz układ (w O(log(n)) tylko
    > gdy doszło do zmiany w porządku sortowania danego obiektu.
    >
    > Jak masz dane w octtree to też można optymalizować.
    >
    no wreszcie jakas konstruktywna wypowiedz

    - no sa rzadkie - to dotyczy sceny w kosmosie (mw 50 kilkometrow
    na 50 kilometrow na 50 kilometrow) z mw kilkoma-kilkunastoma
    tysiacami rozmaitego latającego tałatajstwa (asteroidy, scigacze,
    pociski, rakiety)

    Dokladny test z sqr nie jest mi chyba defakto potrzebny
    wystarczy szescienny

    jak rozumiem musialbym co ramke robic trzy sorty x,y,z i trzymac
    wyniki w oodzielnych tablicach indeksow - a jaki to sort? quicksort?
    ktos wie w ile milisekund da rade wyrobic sie z trzema sortami
    tablicy np 10000 struktur ?

    wszystko trzymam w zwyklych tablicach, trzymanie tego w jakichs
    drzewach skomlikowaloby kod i musialby byc czesto 'uzgadniane' bo
    na tej scenie duzo sie rusza - tak ze nie wiem czy to by bylo
    lepsze - zreszta nie mam z tym doswiadczenia i nie bardzo widze
    jak mialoby wygladac to drzewo;

    wersja z trzema quicksortami co ramke tak naprawde wyglada
    na bardzo prosta (lepsza niz sektory) i dobra - o ile procek to
    szybko uciagnie - pomierze to za jakis czas, tnx






    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 79. Data: 2011-05-07 15:54:19
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: g...@p...onet.pl

    tj, stanelo na tym ze sprobuje jak to dziala z trzysortami
    ale gdyby ktos chcial wypowiedziec sie na temat wad czy zalet
    zrobienia tego przy pomocy drzew to zachecam - mz temat jest
    ciekawy (a mi obcy)

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 80. Data: 2011-05-07 18:06:44
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: Michoo <m...@v...pl>

    W dniu 07.05.2011 13:44, kenobi pisze:
    > jak rozumiem musialbym co ramke robic trzy sorty x,y,z i trzymac
    > wyniki w oodzielnych tablicach indeksow - a jaki to sort? quicksort?
    > ktos wie w ile milisekund da rade wyrobic sie z trzema sortami
    > tablicy np 10000 struktur ?
    Opłaca się sortować same wskaźniki - zamieniasz wtedy tylko pojedyncze
    słowa procesora a nie całe struktury.

    Tu masz sprawozdanie, które popełniłem z kumplem na pierwszym roku:
    http://prowizorka.da.ru/~michoo/sprawozdanie.pdf
    Przy okazji na końcu masz porównanie o ile udało mi się ulepszyć
    heapsort kompilując go ręcznie - zajęło mi to 'tylko' ~tydzień
    projektowania "przy okazji" i 3 godziny kodowania w pociągu. A
    optymalizacje obejmowały m.i. testowania które zmienne i w jakiej
    kolejności umieścić pod [esp], [esp+4], [esp+8].

    --
    Pozdrawiam
    Michoo

strony : 1 ... 7 . [ 8 ] . 9


Szukaj w grupach

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: