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?
Odbicia Bil o róznych masach
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2518
- 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
- Rejestracja: dni
- Ostatnio: dni
zasada zachowania pędu?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2518
teoretycznie tak, ale w praktyce jak się rzuci lekką kulką to najczęściej dużo mniej energii straci niż lekka, jednak nie wiem czy to bardziej wina rodzaju materiału czy masy
- Rejestracja: dni
- Ostatnio: dni
Ale gdybym chciał żeby energia się nie wytracała. tylko raz puszczona kulka porusza się cały czas z taką samą prędkością i po uderzeniu nie wpływa to na prędkość bili
- Rejestracja: dni
- Ostatnio: dni
- Postów: 26
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,