Siema!
Piszę sobie udziwnionego bilarda. Mam już odbicia normalnych bil. Wszystko działa ładnie tylko teraz chciałem zacząć to udziwnianie. Czytałem już sporo o odbiciach sprężystych, zasadach zachowania energii ale średni mi to wychodzi. Chodzi mi ogolnie o to żeby bila miały różne masy. Wiem że po zderzeniu zachowują się inaczej masy o rożnych masach tylko jak?
0
- Rejestracja:prawie 16 lat
- Ostatnio:6 miesięcy
- Postów:2514
0
- uwzglednij sile tarcia, ktore zalezy od nacisku na podloze (masy)
- przy odbiciu uwzglednij ze np a=func(k*m) energii sie pochlania, czyli predkosc zmienia sie do (1-a)*v
funkcja func powinna zwracac wynik w zakresie od 0-1 czyli np cos w stylu:
float func(float x)
{
return atan(x/20.0)/(M_PI)+0.5; // M_PI - chyba tak sie ta stala symbolizujaca PI nazywala w math.h
}
funkcje musisz dobrac ogladajac rezultaty, nie wiem czy akurat ta bedzie wygladala rzeczywiscie
edytowany 1x, ostatnio: krwq
- Rejestracja:około 14 lat
- Ostatnio:ponad 10 lat
- Postów:26
0
Wzory z fizyki na zachowanię pędu i energii.
Czy mają być rzeczywiste tzn. są choć trochę elastyczne? Jeżeli tak to musisz włączyć wzory na elastyczność ala przerobione wzory na sprężynę(rozciąganie i ściskanie, materiałoznastwo). Najlepiej podzielić symulację na kwanty czasu np. 0.05 s(20k/s) i w niej dla każdej bili można matematycznie sprawdzić czy się nie zderzą i w zależności od tego coś zmienić. Ogólnie napisanie dobrego symulatora jest całkiem trudne,
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.