Strona główna Fizyka i Mechanika Fizyka liny i łańcucha

🧶 Fizyka liny i łańcucha

Lina jako punkty materialne połączone więzami odległości, całkowana metodą Verleta z relaksacją Jakobsena. Przeciągaj dowolny węzeł, przypinaj końce, owijaj linę wokół kołka, zbuduj pasek tkaniny.

Fizyka i Mechanika2DŚredni60 FPS
rope-physics ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

Podobne symulacje

O tej symulacji

Symulator buduje linę, łańcuch, most, wahadło lub pasek tkaniny z cząstek punktowych połączonych więzami odległościowymi, wykorzystując całkowanie Störmera-Verleta w formie pozycyjnej: każda cząstka przechowuje tylko bieżącą i poprzednią pozycję, więc prędkość jest niejawna. Co klatkę grawitacja i czynnik tłumienia przemieszczają każdą niezakotwiczoną cząstkę, a następnie przebieg relaksacji Jakobsena K razy przywraca każdą parę połączeń bliżej długości spoczynkowej.

🔬 Co przedstawia

Łańcuch cząstek renderowany jako niebieskie odcinki łączące małe okręgi; zakotwiczone punkty są pomarańczowe, wolne cząstki jasnoszare. Panel statystyk pokazuje długość spoczynkową liny, jej rzeczywistą długość i procentowe rozciągnięcie.

🎮 Jak korzystać

Wybierz scenariusz (bicz, most, swobodny spadek, wahadło lub pasek tkaniny), a następnie przeciągnij suwaki Segments, Iterations, Gravity, Damping i Stiffness. Przeciągnij dowolny węzeł bezpośrednio myszą, zaznacz „Show circular peg”, by dodać przeszkodę, i użyj Pause / Reset.

💡 Czy wiesz, że?

Lina lub łańcuch zwisający swobodnie pod wpływem grawitacji układa się w krzywą łańcuchową, a nie parabolę. Architekt Antoni Gaudí wykorzystał to, budując odwrócone modele wiszącego łańcucha Sagrada Família, pozwalając grawitacji wyznaczyć kształty łuków pracujących wyłącznie na ściskanie.

Najczęściej zadawane pytania

Jakiego algorytmu używa ta symulacja liny?

Wykorzystuje całkowanie Verleta połączone z relaksacją więzów Jakobsena, technikę znaną jako dynamika pozycyjna (PBD). Każda cząstka przechowuje tylko swoją pozycję i poprzednią pozycję; grawitacja i tłumienie przemieszczają cząstki bezpośrednio co klatkę, a osobny przebieg relaksacji wielokrotnie przywraca połączone cząstki bliżej ich odległości spoczynkowej.

Dlaczego symulacja nie przechowuje prędkości jako osobnej zmiennej?

To forma całkowania Störmera-Verleta: prędkość jest niejawna, odtwarzana jako v ≈ x − xPoprzednie, zamiast być śledzona jako osobna wielkość. Jest numerycznie stabilna i, co ważne, upraszcza rozwiązywanie więzów, ponieważ przebieg relaksacji Jakobsena musi jedynie bezpośrednio przesuwać pozycje cząstek.

Co dokładnie kontroluje suwak Iterations (K) i dlaczego jego zwiększenie usztywnia linę?

Każda iteracja to jeden przebieg po wszystkich więzach odcinkowych liny, a pojedynczy przebieg tylko częściowo koryguje błąd długości każdego połączenia. Przy niewielu iteracjach lina zachowuje się jak miękka guma, która wyraźnie rozciąga się pod obciążeniem; przy wielu iteracjach powtarzane korekty zbiegają bliżej nierozciągliwej liny.

Dlaczego lina rozciąga się i pokazuje niezerowy procent Stretch w panelu statystyk?

Relaksacja Jakobsena to przybliżony solver iteracyjny, a nie dokładny. Przy skończonej liczbie iteracji K i jednoczesnych naciągach od grawitacji, sąsiednich więzów, zakotwiczonych punktów i kołka, lina rzadko osiąga stan zerowego błędu w jednej klatce. Zwiększenie K zmniejsza rozciągnięcie kosztem większych obliczeń na klatkę.

Jak przeciągalny kołek oddziałuje z liną i czy to prawdziwa fizyka kolizji?

Kołek nie wykorzystuje pełnej kolizji ciał sztywnych. Po każdej iteracji więzów symulacja sprawdza, czy niezakotwiczona cząstka znajduje się teraz wewnątrz okręgu kołka, a jeśli tak, rzutuje ją bezpośrednio z powrotem na krawędź okręgu. Powtarzanie tego obok więzów odcinkowych, K razy na klatkę, sprawia, że lina wygląda, jakby przekonująco owijała się i ślizgała wokół kołka.