eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › jak stuningowac symulacje
Ilość wypowiedzi w tym wątku: 15

  • 1. Data: 2012-09-07 20:58:37
    Temat: jak stuningowac symulacje
    Od: kenobi <p...@g...com>

    (stuningowac mam na mysli stweakowac, dostroic paramatry)

    Mam kilkanascie czastek w 2d,

    screenshot:

    https://dl.dropbox.com/u/42887985/sym.jpg

    symulacja (win, raczej nie ma wirkow )

    https://dl.dropbox.com/u/42887985/sym.zip

    9 uzozylem w kwadrat 3 na 3, a 7 w kolko,
    czatki te odzialywuja na siebie silami przyciagajacymi
    wzdluz zalozonych wiezow - jakby kresek miedzy czateczkami
    ktore zapodalem z reki - dla kolka jest to 8 kresek
    ( 0-1-2-3-4-5-6-7-0 ) dla kwadratu 12 kresek ( taka kratka
    wiadomo o co chodzi)

    wzdluz kresek (joinow) czastki oddzialuja na siebie silami
    przyciagajacymi

    (sumuje po kreskach, wx,wy to wychylenie po kresce)

    particle[j].Fx += wx*joint_factor;
    particle[j].Fy += wy*joint_factor;

    np dla kolka czastka 0 dostanie wychylenie w strone
    czastki 1 do ktorej ma joina plusy wychylenie do czastki
    7 do ktorej ma joina itp) joint_factor to mnoznik dobierany
    z reki i tu konkretnie wynosi .1

    procz tego wszystkie czastki oddzialywuja na siebie
    odpychajaco

    (suma pomiedzu wszystkimi parami)

    particle[j].Fx += wx*odpychanie_factor/(dist*dist);
    particle[j].Fy += wy*odpychanie_factor/(dist*dist);

    odpychanie factor z reki to tutaj 2.

    te wzorki sa chyba ok bo przyciaganie jest proporcjonalne
    do odleglosci a odpychania w sumie odwrotnie proporcjonalne do
    odleglosci


    jak zsumuje te Fx, Fy dla danej klatki symulacji zgodnie z
    tymi wzorkami to zmieniam pozycje czastki

    x+=Fx;
    y+=Fyl

    wiadomo ze powinienem raczej zmieniec predkosci a nie pozycje
    ale jak zmienie predkosci to robi sie kaszana bo wszystko sie
    rozbieguje - problem jest wlasnie taki, jakby ktos uruchomil
    symulacje to zobaczy ze kolko i kwadrat genaralnie trzymaja sie
    razem i nawet troche odzialuja ale są w tym odzialywaniu

    a) miekkie (wolalbym by dalo sie z tego zrobic uklady bardziej
    sztywne

    b) nie zachowuja predkosci/pedu srodka masy (co jest oczywiste
    skoro x+Fx) - a na tym by mi tez alezalo

    czy ktos analitycznie potrafi wykombinaowac takie ustawienie
    parametrow i ew modyfikacje wzorkow bym z tego co mial mogl
    osiagnac

    a) bardziej sztywne kólko i kwadrat
    b) kółko i kwadrat z zachowanym realistycznie pedem/momentem
    pedu

    Słowem chcialbym na bazie tego co mam otrzymac bardziej
    realistyczna symulacje bryl co bardziej sztywnych (a jesli to
    nie mozliwe to czemu?)

    TNX (mam nadzieje ze to kogos zainteresuje i ktos ew udzieli
    jakiejs pomocnej odpowiedzi)


  • 2. Data: 2012-09-07 21:22:07
    Temat: Re: jak stuningowac symulacje
    Od: PK <k...@n...pl>

    On 2012-09-07, kenobi <p...@g...com> wrote:
    > te wzorki sa chyba ok bo przyciaganie jest proporcjonalne
    > do odleglosci a odpychania w sumie odwrotnie proporcjonalne do
    > odleglosci

    Nie jest oraz nie jest.

    > symulacje to zobaczy ze kolko i kwadrat genaralnie trzymaja sie
    > razem i nawet troche odzialuja ale są w tym odzialywaniu
    >
    > a) miekkie (wolalbym by dalo sie z tego zrobic uklady bardziej
    > sztywne

    Co rozumiesz przez miękkie/sztywne?

    > b) nie zachowuja predkosci/pedu srodka masy (co jest oczywiste
    > skoro x+Fx) - a na tym by mi tez alezalo

    Twoje równania nie są fizyczne, więc czemu miałyby zachowywać?
    Żadne ustawianie parametrów tego nie zmieni.

    > czy ktos analitycznie potrafi wykombinaowac takie ustawienie
    > parametrow i ew modyfikacje wzorkow bym z tego co mial mogl
    > osiagnac

    "Analitycznie" to po prostu mógłbyś to napisać zgodnie z fizyką.
    Przesunięcie nie zależy linowo od siły. Twoja symulacja jest
    nierzeczywista i będzie dawała wyniki sprzeczne z intuicją.
    O zachowywaniu wartości takich jak pęd czy energia możesz w ogóle
    pomarzyć.

    Poza tym zaprzęgnij do tego jakiś sensowny mechanizm ewolucji układu.
    Mówiąc inaczej: zastosuj jakieś sensowne rozwiązanie równań ruchu.
    Tak naprawdę w tego typu "domowych" symulacjach wystarczają równania
    Eulera, ale radzę poczytać o algorytmie Verlet'a. Napisanie go
    nie jest trudne, a wyniki mają już pewną wartość naukową.

    Kilka wskazówek na start.
    1) Musisz symulować 2*d parametrów dla każdej cząstki, symulujesz
    dwukrotnie mniej.
    2) Nie twórz takich "dzikich" równań - zrób to zgodnie z zasadami
    mechaniki: wybierz sobie jakiś potencjał, zastosuj sensowne
    rozwiązanie numeryczne równań Newtona (na początek to Eulera). Nie
    kombinuj tylko daj pracować matematyce :).

    pozdrawiam,
    PK


  • 3. Data: 2012-09-08 08:48:41
    Temat: Re: jak stuningowac symulacje
    Od: kenobi <p...@g...com>

    Nie jest to specjalnie pomocna odpowiedz,
    ew poza jednym sensownym zapytaniem co tu
    jest fizyczne a co nie. Imo chyba jakie
    bym nie zapodal sily (nawet niezachowawcze
    a nie jestem pewien czy moja sila
    przyciagajaca typu F = - x jest zacjowawcza) to uklad bedzie fizyczny. Czyli sama
    czesc liczenia sil jest ok,

    za to x+=F jest za to wlasnie zdaje sie
    nie fizyczne (w sensie dynamiczne w
    sensie newtonowskim) v+=F z tarciem tez
    jest zdaje sie analogicznie nie
    fizyczne, z kolei jak nie zarzuce tarcia
    to jest zdaje sie fizyczne ale wpada w
    takie mody oscylacji ze bryly sa
    rozwalone, a ja wlasnie chcialbym to dostroic tak by dzialalo tak jak chce
    tj by kolko i kwadrat zachowywaly sie
    podobnie jak teraz (jak w modelu x+=F) z tym zeby byly bardziej sztywne i by pozatym
    obowiazywala zwykla fizyka
    (dynamicznie newtonowska) tak zeby poprawnie zachowywaly sie wektory zrodka mas i
    kwadracika i kolka (i w ruchu swobodnym i przy zderzeniach - wzajemnych
    oddzialywaniach)

    Czyli w zawezeniu jest to moze pytanie
    jak wytlumic drgania ale np bez tarcia tak by nie psuc reszty modelu (tak by
    swobodny ruch ukladu czastek mogl dzialac fiykalnie, tj tak jak dla bryly sztywnej)

    Niejaki bartltg kiedys mowil na ten
    temat ale o ile pamietam radzil on po prostu wlaczyc tarcie a tarcie psuje ruch
    calych bryl.

    - czy da sie to (to co chce osiagnac) zrobic bez tarcie - np przez dobieranie
    wlasciwych sil oddzialywan

    - pozatym pewnie da sie to zrobic na kilka sposobow (przychodzi mi do glowy moze np
    tarcie wylacznie na silach miedzy joinami - choc nie jestem pewien czy to by
    dzialalo, ew jakies inne)




  • 4. Data: 2012-09-08 09:15:55
    Temat: Re: jak stuningowac symulacje
    Od: PK <k...@n...pl>

    On 2012-09-08, kenobi <p...@g...com> wrote:
    > za to x+=F jest za to wlasnie zdaje sie
    > nie fizyczne (w sensie dynamiczne w
    > sensie newtonowskim) v+=F z tarciem tez
    > jest zdaje sie analogicznie nie
    > fizyczne, z kolei jak nie zarzuce tarcia
    > to jest zdaje sie fizyczne ale wpada w
    > takie mody oscylacji ze bryly sa

    Nie - tarcie nie ma tu nic do rzeczy. Chodzi o to, że Twoja propozycja
    "x+=F" nie jest rozwiązaniem ogólnie znanych równań ruchu.

    > rozwalone, a ja wlasnie chcialbym to dostroic tak by dzialalo tak jak chce
    > tj by kolko i kwadrat zachowywaly sie
    > podobnie jak teraz (jak w modelu x+=F) z tym zeby byly bardziej sztywne i by
    pozatym obowiazywala zwykla fizyka
    > (dynamicznie newtonowska) tak zeby poprawnie zachowywaly sie wektory zrodka mas i
    kwadracika i kolka (i w ruchu swobodnym i przy zderzeniach - wzajemnych
    oddzialywaniach)

    Ale zasady, których oczekujesz (zachowanie pędu itp) są związane
    z równaniami ruchu, z których Ty nie używasz. To nie jest Newton.
    Zaproponowałeś własną dynamikę i ona ma inne zasady (w szczególności
    nie będzie w niej zachowana energia, więc pęd także nie).

    No i to, o czym pisałem wcześniej: nie przypisujesz swoim cząstkom
    żadnej cechy dynamicznej (np pędu), a jedynie położenie. Mówiąc wprost:
    prędkość cząstek w chwili t nie ma żadnego związku z prędkością w chwili
    t-1 (luźno zdefiniowaną jako: zmiana położenia w kroku symulacji). Czy
    naprawdę liczysz, że ten układ będzie się zachowywał "rzeczywiście"?

    pozdrawiam,
    PK


  • 5. Data: 2012-09-08 13:28:11
    Temat: Re: jak stuningowac symulacje
    Od: kenobi <p...@g...com>

    W dniu sobota, 8 września 2012 09:16:06 UTC+2 użytkownik PK napisał:
    > On 2012-09-08, kenobi <p...@g...com> wrote:
    >
    > > za to x+=F jest za to wlasnie zdaje sie
    >
    > > nie fizyczne (w sensie dynamiczne w
    >
    > > sensie newtonowskim) v+=F z tarciem tez
    >
    > > jest zdaje sie analogicznie nie
    >
    > > fizyczne, z kolei jak nie zarzuce tarcia
    >
    > > to jest zdaje sie fizyczne ale wpada w
    >
    > > takie mody oscylacji ze bryly sa
    >
    >
    >
    > Nie - tarcie nie ma tu nic do rzeczy. Chodzi o to, że Twoja propozycja
    >
    > "x+=F" nie jest rozwiązaniem ogólnie znanych równań ruchu.
    >
    >
    >
    > > rozwalone, a ja wlasnie chcialbym to dostroic tak by dzialalo tak jak chce
    >
    > > tj by kolko i kwadrat zachowywaly sie
    >
    > > podobnie jak teraz (jak w modelu x+=F) z tym zeby byly bardziej sztywne i by
    pozatym obowiazywala zwykla fizyka
    >
    > > (dynamicznie newtonowska) tak zeby poprawnie zachowywaly sie wektory zrodka mas i
    kwadracika i kolka (i w ruchu swobodnym i przy zderzeniach - wzajemnych
    oddzialywaniach)
    >
    >
    >
    > Ale zasady, których oczekujesz (zachowanie pędu itp) są związane
    >
    > z równaniami ruchu, z których Ty nie używasz. To nie jest Newton.
    >
    > Zaproponowałeś własną dynamikę i ona ma inne zasady (w szczególności
    >
    > nie będzie w niej zachowana energia, więc pęd także nie).
    >
    >
    >
    > No i to, o czym pisałem wcześniej: nie przypisujesz swoim cząstkom
    >
    > żadnej cechy dynamicznej (np pędu), a jedynie położenie. Mówiąc wprost:
    >
    > prędkość cząstek w chwili t nie ma żadnego związku z prędkością w chwili
    >
    > t-1 (luźno zdefiniowaną jako: zmiana położenia w kroku symulacji). Czy
    >
    > naprawdę liczysz, że ten układ będzie się zachowywał "rzeczywiście"?
    >
    >
    >

    Chyba nie skupiasz sie na sednie problemu
    i te uwagi do tego nie wiele wel nic nie
    wnoszą (no ale pominmy bo przynajmniej jakotako na temat)
    Chyba wymyslilem jak to mozna by moze
    zrobic lub przynajmniej sprobowac,
    teraz jak mowilem rownowege na joinie
    u mnie konstytuuje .1*x = 2.*x/(d*d)
    .1*x to sila przyciagajaca (dla odleglosci
    3 pixeli wynosi .3, 2*x/(d*d) to sila
    odpychajaca i dla 3 pix wynosi 6/9 = 0.66
    (o ile sie gdzies wogole nie robnalem w rozumieniu tego) robie tu poprawki do pozycji
    nie do predkosci i dla odleglosci
    3 pix dostene odepchniecie o 0.36 pixela
    do 3.36 pix co da z kolei .336 i 0.595
    co znowu da 2.5 pixela odpychania i rownowaga ustali sie gdziez kolo 4 pixeli
    odleglosci - to sie nie zgadza z rysunkiem
    gdzie na oko odleglosci rownowagi sa okolo 10 pixow (czerwony kwadracik ma 4x4
    pixele) ale pewnie tyle daje wklad odpychania od grupy (bo ja przyciaganie licze
    tylko po joinach z saisadami a odpychanie w kwadratowej petli po wszystkich (zreszta
    i to i to licze
    w dwie strony ) Hueh no niewazne

    W kazdym razie moze gdyby sily po joinach
    liczyc mw tak jak teraz i updatowac jako poprawki do pozycji a sily odpychania liczyc
    jako poprawki do v to moze zachowywaloby sie to bardziej tak jak
    chce - jak odpoczne to sprobuje tego -
    z tym ze i tak nie wiadomo czy te
    odpychania od czasteczek bliskich ale
    troche dalej spoza joinow nie powzbudzalyby tych modow drgan, musze
    przy tym chyba przepisac troche kod bo
    u mnie w danej chwili joinowa sila sklada sie efektywnie tylko z tych przyciagajacych
    a odpychanie pochodzi z drugiej grupy - jakbym dorobil przyciagajaceym x+=f a
    wszystkim odpychajacym v+=f to mogloby byc
    pewnie za malo na tlumieniea wiec
    trzebabedzie pewnie przepisac :/
    (mistrz genarał kenobi)




  • 6. Data: 2012-09-08 14:16:39
    Temat: Re: jak stuningowac symulacje
    Od: PK <k...@n...pl>

    On 2012-09-08, kenobi <p...@g...com> wrote:
    > Chyba nie skupiasz sie na sednie problemu

    Możliwie, że nie rozumiem o co pytasz, bo trudno coś wyłapać z tak
    pisanego tekstu :/.

    > i te uwagi do tego nie wiele wel nic nie
    > wnoszą (no ale pominmy bo przynajmniej jakotako na temat)

    Wnoszą to, że mówię Ci, jak się normalnie robi symulacje fizyczne,
    z których można wyciągać wnioski ogólniejsze niż takie dotyczące samej
    symulacji...

    > Chyba wymyslilem jak to mozna by moze
    > zrobic lub przynajmniej sprobowac,

    Wymyślono to ponad 200 lat temu. Ponad 100 lat mają bardzo dokładne
    metody, które dziś traktujemy jako standardowe. Komputery elektroniczne
    rozwiązują takie problemy od wojny.

    Studenci na zajęciach w labie piszą taką symulację jak Twoja w 2 godziny
    (razem z testami i wyciągnięciem elementarnych wniosków). Generalnie
    za dużo próbujesz wymyślać - zmarnujesz na napisanie tego tyle czasu,
    że zabraknie Ci chęci do analizowania (jeśli coś uzyskasz w ogóle).

    > teraz jak mowilem rownowege na joinie
    > u mnie konstytuuje .1*x = 2.*x/(d*d)
    [...]
    > w dwie strony ) Hueh no niewazne

    Tego w ogóle nie zrozumiałem. Sorry.

    pozdrawiam,
    PK


  • 7. Data: 2012-09-08 14:49:09
    Temat: Re: jak stuningowac symulacje
    Od: kenobi <p...@g...com>

    W dniu sobota, 8 września 2012 14:16:40 UTC+2 użytkownik PK napisał:
    > On 2012-09-08, kenobi <p...@g...com> wrote:
    >
    > > Chyba nie skupiasz sie na sednie problemu
    >
    >
    >
    > Możliwie, że nie rozumiem o co pytasz, bo trudno coś wyłapać z tak
    >
    > pisanego tekstu :/.
    >
    >
    >
    > > i te uwagi do tego nie wiele wel nic nie
    >
    > > wnoszą (no ale pominmy bo przynajmniej jakotako na temat)
    >
    >
    >
    > Wnoszą to, że mówię Ci, jak się normalnie robi symulacje fizyczne,
    >
    > z których można wyciągać wnioski ogólniejsze niż takie dotyczące samej
    >
    > symulacji...
    >
    >
    >
    > > Chyba wymyslilem jak to mozna by moze
    >
    > > zrobic lub przynajmniej sprobowac,
    >
    >
    >
    > Wymyślono to ponad 200 lat temu. Ponad 100 lat mają bardzo dokładne
    >
    > metody, które dziś traktujemy jako standardowe. Komputery elektroniczne
    >
    > rozwiązują takie problemy od wojny.
    >
    >
    >
    > Studenci na zajęciach w labie piszą taką symulację jak Twoja w 2 godziny
    >

    ciekawe - w jakim srodowisku (jezyk/lib?)
    moze to bardziej przepisanie e z tablicy
    niz zrobienie samemu, zreszta mi to wcale dlugo nie zajmuje, tez kwestia godzin (z
    tym ze jak chce dluzej poeksperymentowac
    pomyslec i poprobowac to z paru godzin
    robi sie np pare dni )




    > (razem z testami i wyciągnięciem elementarnych wniosków). Generalnie
    >
    > za dużo próbujesz wymyślać - zmarnujesz na napisanie tego tyle czasu,
    >
    > że zabraknie Ci chęci do analizowania (jeśli coś uzyskasz w ogóle).
    >
    >

    hehe, bez obawy


    >
    > > teraz jak mowilem rownowege na joinie
    >
    > > u mnie konstytuuje .1*x = 2.*x/(d*d)
    >
    > [...]
    >
    > > w dwie strony ) Hueh no niewazne
    >
    >
    >
    > Tego w ogóle nie zrozumiałem. Sorry.
    >
    >
    >
    > pozdrawiam,
    >
    > PK


  • 8. Data: 2012-09-08 18:12:11
    Temat: Re: jak stuningowac symulacje
    Od: A.L. <l...@a...com>

    On 08 Sep 2012 12:16:39 GMT, PK <k...@n...pl> wrote:

    >On 2012-09-08, kenobi <p...@g...com> wrote:
    >> Chyba nie skupiasz sie na sednie problemu
    >
    >Możliwie, że nie rozumiem o co pytasz, bo trudno coś wyłapać z tak
    >pisanego tekstu :/.
    >
    >> i te uwagi do tego nie wiele wel nic nie
    >> wnoszą (no ale pominmy bo przynajmniej jakotako na temat)
    >
    >Wnoszą to, że mówię Ci, jak się normalnie robi symulacje fizyczne,
    >z których można wyciągać wnioski ogólniejsze niż takie dotyczące samej
    >symulacji...
    >
    >> Chyba wymyslilem jak to mozna by moze
    >> zrobic lub przynajmniej sprobowac,
    >
    >Wymyślono to ponad 200 lat temu. Ponad 100 lat mają bardzo dokładne
    >metody, które dziś traktujemy jako standardowe. Komputery elektroniczne
    >rozwiązują takie problemy od wojny.
    >
    >Studenci na zajęciach w labie piszą taką symulację jak Twoja w 2 godziny
    >(razem z testami i wyciągnięciem elementarnych wniosków). Generalnie
    >za dużo próbujesz wymyślać - zmarnujesz na napisanie tego tyle czasu,
    >że zabraknie Ci chęci do analizowania (jeśli coś uzyskasz w ogóle).
    >
    >> teraz jak mowilem rownowege na joinie
    >> u mnie konstytuuje .1*x = 2.*x/(d*d)
    >[...]
    >> w dwie strony ) Hueh no niewazne
    >
    >Tego w ogóle nie zrozumiałem. Sorry.
    >
    >pozdrawiam,
    >PK

    Czy nei uwazasz ze tracisz czas?... To nie pierwsza dyskusja na ten
    temat. Prawdopodobie tak jak poprzednia skonczy sie niczym

    A.L.


  • 9. Data: 2012-09-08 21:58:30
    Temat: Re: jak stuningowac symulacje
    Od: PK <k...@n...pl>

    On 2012-09-08, kenobi <p...@g...com> wrote:
    > ciekawe - w jakim srodowisku (jezyk/lib?)

    Generalnie w dowolnym (tzn. jak studentowi wygodnie, bo ważne są
    wnioski, a nie kod). Językiem "promowanym" akurat jest Python,
    który się do tego dobrze nadaje (m.in. dzięki operacjom na tabelach).

    > moze to bardziej przepisanie e z tablicy

    Z głowy. Student II roku fizyki/matmy (tzn. po równaniach różniczkowych
    lub mechanice klasycznej) wie jak to ma wyglądać, więc jak mu się daje
    konkretny problem, to od razu zaczyna kodować, a nie obala Newtona.

    pozdrawiam,
    PK


  • 10. Data: 2012-09-08 22:00:05
    Temat: Re: jak stuningowac symulacje
    Od: PK <k...@n...pl>

    On 2012-09-08, A.L <l...@a...com> wrote:
    > Czy nei uwazasz ze tracisz czas?... To nie pierwsza dyskusja na ten
    > temat. Prawdopodobie tak jak poprzednia skonczy sie niczym

    Nie wiem czy tracę czas. Tracę?
    p.c.p śledzę od niedawna i jeszcze nie kojarzę wszystkich "localsów" :)

    pozdrawiam,
    PK

strony : [ 1 ] . 2


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: