Modelowanie obiektów opartych na sile sprężystości Jakub

Download Report

Transcript Modelowanie obiektów opartych na sile sprężystości Jakub

Modelowanie obiektów opartych na sile
sprężystości
Jakub Jastrzębski
Seventhtear
[email protected]
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Plan Prezentacji
Prawo Hooke'a
Sprężyna
Drgania z tłumieniem
Wahadło
Lina
Ciała miękkie
Tkaniny
Zastosowanie sprężyn
Potencjał
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Prawo Hooke'a
F =−k h
F −siła sprężystości
k −współczynnik sprężystości
h−odkształcenie
( źródło Wikipedia )
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Sprężyna
 =ma −k h
F
 −całkowita siła działająca na ciało
F
m−masa ciała
a − przyspieszenie

k −współczynnik sprężystości

h−odkształcenie
d x
k
h
=
g
–

2
m
dt
2
d x
v =
dt

{
d
v
k
h
=
g–
dt
m
d x
v=

dt
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Siła sprężystości – kod w C++
{
Vector vPos = Obj1.Position – Obj2.Position;
float fDiff = vPos.Length – Spring.RestLength;
vPos.Normalize();
Vector Force = -Spring.k * fDiff*vPos;
Vector accel1 = Force * Obj1.invMass + vGravity;
Vector accel2 = -Force * Obj2.invMass + vGravity;
Obj1.Velocity += accel1 * dt;
Obj2.Velocity += accel2 * dt;
Obj1.Position += Obj1.Velocity * dt;
Obj2.Position += Obj1.Velocity * dt;
}
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Drgania z tlumieniem
 = Fs  F t
F
 −całkowita siła działająca na ciało
F
F s−siła sprężystości
Ft −siła tłumienia
 =−k s⋅ p1 – p2  p12 k t  v1 – v2 v12
F


s
F
Fk
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Sprężyna Light
Równanie ruchu harmonicznego:
2
d x k
 x=0
2
m
dt
2
⇒
d x
k
=− x
2
m
dt
Funkcje będące rozwiązaniem:
dt
sin t=−sin t
2
dt
dt
cos t=−cos t
2
dt
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Sprężyna Light
Rozwiązanie analityczne:
x= Acos  t
k
=
m

x− położenie obiektu
A−amplituda drgań
k −współczynnik sprężystości
m−masa ciała
t −określona chwila czasowa
− przesunięcie w fazie
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Commander Keen 4
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Wahadło
„Wahadło matematyczne to punkt materialny
zawieszony na nieważkiej i nierozciągliwej nici”
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Wahadło
Rozwiązanie 1:
Fg =m g sin
 =F
 ×l
M
d2
M= 2 I
d t
d 2 g
= sin 
2
l
dt
M =F l sin 
 =m 
F
g

I =ml
{
2
d
v
k
h
=
g–
dt
m
d
=
dt
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Wahadło Light
Rozwiązanie 2:
x=∣l∣sint 
y=∣l∣cos t
x , y−współrzędne punktu
∣l ∣−długośc ramienia wahadła
−kąt wychylenia
− przesunięcie fazowe
t −chwila czasowa
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Bionic Commando: Rearmed
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Lina
a) Połączenia pojedyncze
b) Połączenia wielokrotne
- sąsiednie i co drugi
c) Połączenia wielokrotne
- każdy z każdym
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Ciała miekkie
Model ciśnieniowy
Model Sprężynowy
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
World of Goo
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Tkaniny
a) Połączenia pojedyncze
b) Połączenia pojedyncze
– kratka
c) Połączenia wielokrotne
– sąsiad i co drugi
d) Połączenia wielokrotne
– każdy z każdym
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Zastosowania sprężyn
Kamera TPP
Gry wyścigowe
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Potencjał
Potencjał punktów na sprężynie ma charakter paraboli
Istnieją jednak inne ciekawe modele potencjału dające
ciekawe efekty
Jednym z przykładów może być potencjał
Lennarda-Jonesa lub Morse'a
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Potencjał
Potencjał Lennarda-Jonesa
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Potencjał
Potencjał Morse'a
Modelowanie obiektów opartych na sile sprężystości
IGK'2010
Bibliografia
[1] Resnick R., Halliday D. , „Fizyka” tom 1.,
PWN , Warszawa 1994
[2] Matyka M., „Symulacje komputerowe w fizyce”,
Helion, Gliwice 2002
[3] Millington I., „Game physics – engine development”,
Elsevier 2007
[4] J.Jastrzębski „Projektowanie i implementacja silnika fizyki”,
IGK'2009, Siedlce 2009
Modelowanie obiektów opartych na sile sprężystości
IGK'2010