eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingrelaxing na węzłachRe: relaxing na węzłach
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: " " <f...@g...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: relaxing na węzłach
    Date: Thu, 24 May 2012 17:46:52 +0000 (UTC)
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 114
    Message-ID: <jpls6c$emv$1@inews.gazeta.pl>
    References: <jpl4me$h3u$1@inews.gazeta.pl> <jpl5rc$jr6$1@inews.gazeta.pl>
    <jpllkp$c1r$1@node1.news.atman.pl> <4fbe5df7$1@news.home.net.pl>
    <jplo7g$cge$1@node2.news.atman.pl> <jplplr$8b4$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 1337881612 15071 172.20.26.243 (24 May 2012 17:46:52 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Thu, 24 May 2012 17:46:52 +0000 (UTC)
    X-User: fir
    X-Forwarded-For: 46.134.29.93
    X-Remote-IP: localhost
    Xref: news-archive.icm.edu.pl pl.comp.programming:197445
    [ ukryj nagłówki ]

    prof fir <f...@g...pl> napisał(a):

    > bartekltg <b...@g...com> napisał(a):
    >
    > > W dniu 2012-05-24 18:12, Arkadiusz Dymek pisze:
    > > > W dniu 5/24/2012 5:55 PM, bartekltg wrote:
    > > >> W dniu 2012-05-24 13:25, f...@g...pl pisze:
    > > >>> mozliwe ze nieco niejasno napisalem ale ufam
    > > >>> ze jest mw jasne o co chodzi (sam jestem jakby
    > > >>
    > > >> Napisałeś, że trzy punkty nie chcą Ci się ustawiać
    > > >> w trójkąt.
    > > >>
    > > >> Jeśli piszesz z tego wszechświata, to nie,
    > > >> nie jest jasne:)
    > > >
    > > > E, ja zrozumiałem. Po prostu trójkąt nie chce się ustabilizować w
    > jednej
    > > > pozycji, tylko cały czas jeden wierzchołek oscyluje.
    > >
    > > Hmm. Widać, źle zrozumiałem słowo 'zrelaksować' jako
    > > zając najlepszą pozycję, zamiast jako 'odpocząć';)
    > >
    > > A odpowiedź dla fira jest prosta: dodaj tłumienie.
    > >
    > > Współczynnik tłumienia najlepiej, aby był krytyczny
    > > albo kapkę większy:
    > > http://pl.wikipedia.org/wiki/T%C5%82umienie#T.C5.82u
    mienie_krytyczne
    > >
    > > k oczywiście tam nie występuje, bo nie ma tam sprężynek,
    > > ale jest to po prostu nachylenie w położeniu równowagi.
    > >
    > > Pamiętaj, że chcesz tłumić ruch względny, a nie ruch
    > > w przestrzeni. Siłą musi być proporcjonalna ro różnicy
    > > prędkości i działać jak Newton przykazał na oba
    > > końce belki.
    > >
    > >
    > > Tylko uważaj dalej. Jeśli będziesz montował duże układy,
    > > częstości własne będą bardzo różne. Jeśli dobrze będziesz
    > > tłumił drgania cząstek, głowne mody będa przetłumione
    > > i będą powoli wracać do stanu relaksacji.
    > >
    >
    > robie to bardzo prosto i nie jest to zbyt widowiskowe
    > bo rysuje pojedyncze pixele,
    >
    > 'sprezynka' nie jest dobra nazwa, angielski join czy joint
    > (chyab join tez nie bardzo pasuje, ew moglbym mowic 'polaczenie'
    > bo nie mam lepszej nazwy - przy czym tych polaczen moze byc
    > pare typow moze glownie dwa - 'sztywniak' na jakiejs odleglosci
    > i odpychacz
    >
    > poki co chce zrobic jakis kwadrat ze sztywniakow i drugi
    > kwadrat ze sztywniakow i zobaczyc jak te kwadraty beda sie
    > odpychac i czy to bedzie realistyczne, jaki rodzaj fizyki to
    > wyjdzie
    >

    to ze wczesniej nie chzialo sie relaksowac to byl bug
    w procedurze,

    tutaj mam cztery wierzcjolki 0 1 2 4 i cztery sztywniaki
    ustawione na 50 pix

    0 -50-> 1
    1 -50-> 2
    2 -50-> 3
    3 -50-> 0

    i samo uklada sie w kwadrat

    http://dl.dropbox.com/u/42887985/joints.zip

    lewym klawiszem myszy mozna ciagnac za zerowy i
    widac ze sie teraz jednak relaksuje

    sam 'newton' mam chwilowo bardzo przyblizony
    (nie poprawiam predkosci od sily tylko pozycje itp)


    if(lmb_pressed)
    {
    particle[0].Fx = -(particle[0].x - MOUSE_X)/6;;
    particle[0].Fy = -(particle[0].y - MOUSE_Y)/6;

    }

    int k = particle[j].join;

    float dx = particle[k].x - particle[j].x;
    float dy = particle[k].y - particle[j].y;

    float dist = sqrt(dx*dx + dy*dy) - particle[j].join_dist;

    particle[j].Fx += dx*0.025*dist/50.0;;
    particle[j].Fy += dy*0.025*dist/50.0;;


    float nx = particle[j].x + particle[j].Fx;
    float ny = particle[j].y + particle[j].Fy;

    if(nx < 1) return;
    if(nx >= CLIENT_X) return;
    if(ny < 1) return;
    if(ny >= CLIENT_Y) return;

    particle[j].x = nx;
    particle[j].y = ny;



    --
    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: