eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › wada spacjali kolizyjnej (jak to nazwac)
Ilość wypowiedzi w tym wątku: 5

  • 1. Data: 2011-12-17 11:56:05
    Temat: wada spacjali kolizyjnej (jak to nazwac)
    Od: " " <f...@W...gazeta.pl>

    (kiedys juz o tym pisalem ale jeszcze raz)

    spacjala kolizyjna ma pewna wadę :->

    o ile normalnie wspolrzednymi przestrzennymi
    obiektow (na scenie/mapie/planszy) mozna
    dowolnie manipulowac

    to kiedy robi sie pomocnicza strukture
    (np wlasnie owa 'spacjale' kolizyjna)
    (ktora ma pewien charakter jakby 'cache')
    to trzeba nieustannie bardzo pilnowac
    sie by nie doszlo do 'desynchronizacji'
    tych dwu zbiorow danych

    - o to moge powiedziec z doswiadczenia
    jest latwo (da sie to zrobic ale z gory mozna
    sie spodziewac nowego zrodla potencjalnych
    bledow przy robieniu progsa)

    chodzi mi tez o to ze to zagadnienie
    (setow danych w progsie ktore trzeba
    synchronizowac) mozna potraktowac
    ogolniej - pytanie jak to zagadnienie
    sie nazywa, jak to nazwac - bo nie wiem
    czy jest to jakies zagadnienie z 'teorii
    cache' (o ile jest cos takiego) czy
    jakies zagadnienie dot 'synchronizacji
    stanow czy zbiorow' itp - nie wiem
    jak to sie nazywa

    ma to tez cos wspolnego powiedzialbym z
    zagadnieniami 'interfejsow' bo w momencie
    gdy dodaje sie taka cachujaca strukture
    to moze pojawic sie np wyrazna potrzeba
    zamkniecia pewnej grupy operacji (tj np
    tu konkretnie zmian pozycji obiektow na
    planszy) i wydzielenia wylacznego interfejsu
    gdzie pod spodem automatycznie dbano
    by o to by duplikowany zbior sie nie
    rozsynchronizowal - przy czym mozna zauwazyc
    ze ta potrzeba pojawia sie dopiero tutaj
    (wczesniej w normalnym programowaniu ktore
    zwykle obywa sie bez takich cacheowanych setow
    tej potrzeby nie ma)


    (kenobi)















    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 2. Data: 2011-12-17 12:25:46
    Temat: wada spacjali kolizyjnej (jak to nazwac)
    Od: " " <f...@W...gazeta.pl>


    > ma to tez cos wspolnego powiedzialbym z
    > zagadnieniami 'interfejsow' bo w momencie

    konkretne zagadnienie dodatkowe

    powiedzmy ze mam wlasnie taki przypadek:

    1) tablice postaci ktore maja zapisane w polach
    swoje pozycje na mapie

    postac[id].x
    postac[id].y

    2) pomocnicza strukture zapisujaca duplikaty powyzszych
    wspolrzednych postaci w przestrzennej tablicy (nazwanej
    tutaj plansza)

    int id = plansza[y][x]

    jak wydzielic 'interfejs' niezbednych operacji tak by
    bylo wzglednie ok (i nie doszlo do desynchronizacji itp)
    ?

    (kenobi)


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 3. Data: 2011-12-17 12:37:28
    Temat: wada spacjali kolizyjnej (jak to nazwac)
    Od: " " <f...@W...gazeta.pl>

    >
    > (1) postac[id].x
    > postac[id].y
    >
    > (2) id = plansza[y][x]

    przy okazji ciekawostka,

    w tutorialach Gourleya dot symulacji fluidow
    (ciekawych ale za trudnych dla mnie),

    pierwszy sposob trzymania obiektow (tam konkretnie
    czastek) nazywa sie lagranzowskim a drugi eulerowskim

    ("...here in contrast with the Eulerian view, where position
    is fixed to the grid. This treatment of fluids is called
    a Lagrangian view...")





    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 4. Data: 2011-12-17 13:24:04
    Temat: Re: wada spacjali kolizyjnej (jak to nazwac)
    Od: " " <f...@N...gazeta.pl>

    <f...@W...gazeta.pl> napisał(a):

    >
    > > ma to tez cos wspolnego powiedzialbym z
    > > zagadnieniami 'interfejsow' bo w momencie
    >
    > konkretne zagadnienie dodatkowe
    >
    > powiedzmy ze mam wlasnie taki przypadek:
    >
    > 1) tablice postaci ktore maja zapisane w polach
    > swoje pozycje na mapie
    >
    > postac[id].x
    > postac[id].y
    >
    > 2) pomocnicza strukture zapisujaca duplikaty powyzszych
    > wspolrzednych postaci w przestrzennej tablicy (nazwanej
    > tutaj plansza)
    >
    > int id = plansza[y][x]
    >
    > jak wydzielic 'interfejs' niezbednych operacji tak by
    > bylo wzglednie ok (i nie doszlo do desynchronizacji itp)
    > ?
    >

    mozna pomyslec tak (acz nie jestempewien czy to jest do konca
    dobre pomyslenie), ze zwykly dostep do tego

    postac[id].x
    postac[id].y

    int id = plansza[y][x]

    powinien zostac zablokowany a w zamian za to powinien byc
    wystawiony jakis minimalny interfejs, ale jaki bylby ten
    minimalny interfejs?

    ew mysle czy mogloby byc np

    bool movePostacTo(int id, int x, int y) //fajlujacy i dajacy tez mozliwosc
    //ewentualnego wyrzucenia poza plansze

    to obslugiwaloby wiekszosc przypadkow ale chyab tez byloby
    potrzebne

    int id = PostacAt(x,y);

    nie wiem czybyto wystarczylo - do tego w realnym przypadku
    jest nieladniej bo na mapie moze byc wiecej encji roznych typow





    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 5. Data: 2011-12-17 14:01:14
    Temat: Re: wada spacjali kolizyjnej (jak to nazwac)
    Od: " " <f...@N...gazeta.pl>

    wychodzi ze to moze byloby cos w stylu:


    const int pole_puste = -1;
    const int postac_none = -1;

    inline bool wPlanszy(int x, int y)
    {
    return (x>=0 && x<plansza_maxx && y>=0 && y<plansza_maxy );
    }


    bool movePostacTo(int id, int x, int y)
    {
    if(plansza[y][x] == pole_puste)
    {
    int oldx = postac[id].x;
    int oldy = postac[id].y;

    if(wPlanszy(oldx, oldy))
    plansza[oldy][oldx] = pole_puste;

    postac[id].x = x;
    postac[id].y = y;

    if(wPlanszy(x, y))
    plansza[y][x] = id;

    return true;

    }

    return false;

    }

    inline int getPostacAt(int x, int y)
    {
    return plansza[y][x];
    }

    //int getPostacAt(int x, int y) // odrzucone bo spr zakresow jednak
    niepotrzebne
    //{

    // if(wPlanszy(x,y)
    // return plansza[y][x];
    //
    // return postac_none;
    //}



    pamietam ze kiedys bylem o wiele madrzejszy bo staralbym sie
    to ew przemyslec poprawiac wydajnosciowo a dzis mi sie nie chce

    'abstrakcyjnie' to by bylo cos zachaczajacego o wygibasy jak

    postac(i).poz=xy;
    i=postac.poz(xy);

    ale poki co nie ma chyba czegos takiego






    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

strony : [ 1 ]


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: