Autor Wątek: Spreżyna 2D (x,y)  (Przeczytany 3469 razy)

Offline Vizzzard

  • Użytkownik

# Sierpień 09, 2007, 16:23:41
 zaraz sprawdze to co mowisz.

http://www.myphysicslab.com/spring2d.html

ale jakos mi sie nie wydaje ze osiagne symulację z linka który podaje (obym sie mylił), a taka oto symulacja jest ostatecznym celem, nie spezyna pręzynująca w tył/przód w jakims kącie.


Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline snakeo

  • Użytkownik

# Sierpień 09, 2007, 16:33:19
Chociaz troche inaczej sie zachowuje wtedy ta sprezyna od tej na tamtej stronie, jednak nie mialem racji.
« Ostatnia zmiana: Sierpień 09, 2007, 17:02:53 wysłana przez snakeo »

Offline Vizzzard

  • Użytkownik

# Sierpień 09, 2007, 17:02:26
snakeo. no to jestem pod wrazeniem :D, co prawda są pewne róznice pomiedzy symulacja z physicslab ale mozliwe ze nalezy inaczej parametry sumulacji poustawiac i będzie smigało. Wielki dzięki za ten kod :)

nie moge przestac odpalac tego programu z róznymi parametrami :D

krótkie pytanko, czy ta spręzyna w Nehe ma ustawioną grawitacje ? tzn chy masa na spręzynie jest przyciąganabo nie mogłem znalesc tego w kodzie, bo jak nie to bedzie trzeba dopisac ;)

EDIT:

Cytuj
Chociaz troche inaczej sie zachowuje wtedy ta sprezyna od tej na tamtej stronie, jednak nie mialem racji.

tez to zauwarzyłem, ale i tak jest bardzo dobrze, jakies propozycje co mozna by zrobic zeby było bardziej podobnie? skoro niema grawitacji to napewno przemnozyc przez grawitacje, ale niewiem jeszcze Co :D
« Ostatnia zmiana: Sierpień 09, 2007, 17:05:29 wysłana przez Vizzzard »

Offline snakeo

  • Użytkownik

# Sierpień 09, 2007, 17:05:52
Mozesz dodac grawitacje tutaj:
void MassAndSpring::Solve()
{
//jakis kod
Vector3d gravity(0,-9.81f,0);
masses[a]->AddForce(-springVector * springConstant  + gravity*masses[a]->mass);
}
Aha no i lepiej sobie ten Vector3d utworzyc gdzies indziej a nie w metodzie solve, bo tak za kazdym razem jest tworzony na nowo, a metoda solve jest wywolywana dosc czesto.

Niby fanie to wyglada, ale jezeli potrzebujesz realisytcznej sprezyny w 100% to raczej trzeba zmienic troche kod z nehe na tamten, ale to nie sa chyba jakies wielkie zmiany? W sumie tej sprezyny juz chwile temu uzywalem i wydawalo mi sie ze ona jest dobra nawet dla 3d ;/
« Ostatnia zmiana: Sierpień 09, 2007, 18:37:40 wysłana przez snakeo »

Offline Vizzzard

  • Użytkownik

# Sierpień 09, 2007, 17:20:04
tamted kod znowu jest tak pokręcony ze niewiem co i jak w co przechodzi rozumiem tylko zliczanie odległości i ew liczenie r dla x i y (chyba)

ale dlaczego np
    change[0] = x[2]; // Ux' = Vx
    change[1] = x[3]; // Uy' = Vy

to niemam pojecia co to jest i czym to jest i dlaczego tak i do czego to słuzy :D

to samo niewiem czy change[2] i [3] odpowiada za x i y czy za vektory predkosci bo jakos to nie chciało zbytnio chodzic. Mysle zeby napisac maila do autora tego kodu ale jakos wątpie zeby mi odpowiedział na moje pytania.

Offline snakeo

  • Użytkownik

# Sierpień 09, 2007, 17:46:02
Ja spróbowałbym opierając się na tych wzorach tam napisanych zaimplementować je do tego co jest w nehe.

Offline Vizzzard

  • Użytkownik

# Sierpień 09, 2007, 18:11:09
tak tez, zrobie :)

jak bęe mieć problemy z implementacją to napisze, wiec wątek nadal pozostaje aktywny :)

dzięki za wszystko

Offline snakeo

  • Użytkownik

# Sierpień 09, 2007, 18:12:37
W sumie zaciekawiles mnie tym i dorabiam do mojej sprezynki tez to z tamtej strony ;]

Offline Vizzzard

  • Użytkownik

# Sierpień 09, 2007, 18:56:13
oo to super własciwie :) wspulny cel

jak uda ci sie sformułować dobrze działającą formułe i co powinno byc czym to zamiesc to tutaj :) tzn jesli byś mugł

z góry dzieki ci za pomoc :) nareszcie będe mieć spręzynke, a przy odrobinie szcześcia moze damy rade zrobić ją w 100% realistyczną

Offline snakeo

  • Użytkownik

# Sierpień 09, 2007, 19:33:03
Z tym 100% realistycznosci to bym nie przesadzał, ale na pewno bardziej realistyczna od tej jaka jest teraz.