Game Phyic Game Phyic 589 9년봄학기 6//9 박경신 운동 (Moio) 위치 (Poiio), 속도 (Velociy), 가속도 (Acceleaio) 힘 (oce), 중력 (Gaviy) 부력 (Buoyacy), 저항 (Da) 마찰 (icio) 운동마찰 (ieic ficio) 정지마찰 (Saic ficio) 스프링 (Spi) Moio 운동 (moio) 은시간에따라물체의위치가변하는현상 운동을나타내기위해서속력 (pee), 속도 (velociy), 가속도 (acceleaio) 라는물리량을사용 속도 (velociy) 는벡터임 벡터의방향 (iecio) 은움직임의방향을나타냄 벡터의길이 (maiue) 는움직임의속력 (pee) 를나타냄 속도벡터는객체가시간이경과에따라얼마나움직였나를가리킴 Baic Moio 변위 (iplaceme 속도 (velociy) * 시간 (ime) 만약물체가시작점 P 에서출발하여일정한속도 (coa velociy) v 만큼움직인다면, 단위시간이경과한후의 위치 (poiio): ) x + v NOTE: 단위 (ui 는거리의경우 mee, 시간의경우 eco, 속도의경우 mee/eco 를의미함
Vayi Velociy 앞의공식은물체가일정한속도로움직일때만적용가능 보다일반적인경우, 물체의속도량은시간이경과에따라바뀜 속도는단위시간당움직임위치의변화량 시간에따른위치의변화율 속도는위치를시간에대해한번미분한값 : 속도가일정한경우 : v( v 속도가일정한가속으로변하는경우 : v( v + a 이때, 변위 (iplaceme 는속도의적분값 (ieal) iplaceme velociy v( Eule Meho (o Eule Ieaio) 오일러방법 (Eule meho, 혹은 Eule Ieaio) 테일러급수에서유도된방법으로가장기본적인적분방법 그러나, 비교적오차가크게남 구간 [a, b] 를 N개의구간으로나누었을때각각의점을 i a + i*h, i,,,.., N a h (b-a)/n 오일러방법은 ω α, ω i+ ω i + h*f( i, ω i ), i,,,.., N- 오일러방법을적용하여단위시간별물체가현재속도 (cue velociy) 로직선으로움직인위치 : x ) ) + v ( Acceleaio 가속도는단위시간당속도의변화량 가속도는속도를시간에대해한번미분한값 a( v( 속도는가속도의적분값 (ieal) velociy acceleaio 오일러방법을적용하여위치계산 : ; Acc compueacceleaio(); Vel Vel * Acc * ; Po Po * Vel * ; ( v + a x + v + a Gaviy 중력 (aviy) 는지구의표면에서일정한가속도인 9.8 mee/eco 중력장내의물체는지구중심쪽으로 m 힘을받음. M 은질량 (ma) 임 m ( 9.8m ) aviy (, -9.8, ) v v v
oce 힘 (foce) 는운동 (moio) 에변화를일으키는원인 뉴튼역학의제 법칙 ( 가속도의법칙 ) ma a / m 만약질량 (ma) M 인물체에힘 (foce) 가가해졌을때, 오일러방법을적용하여운동 (moio) 계산 : Acc /M; Vel + Acc * ; Po + Vel * ; 뉴튼역학의 법칙 관성의법칙 : 모든물체는다른물체의움직임의영향을받지않는다고할때, 정지해있었다면계속정지해있을것이고, 움직이고있었다면일정한속도로계속운동할것이다. 가속도의법칙 : 물체의운동량의변화율은, 크기와방향에서, 그물체에작용하는힘에따른다. 작용, 반작용의법칙 : 모든작용에는그반대방향으로같은크기의반작용이존재한다. Gaviaioal oce 만유인력 / 중력 (aviaioal foce) 이우주안에존재하는모든물체들은다른물체를무조건끌어당기는성질이있는데, 그힘의크기는두물체의질량의곱에비례하고, 둘사이의거리의제곱에반비례한다. 의방향은큰질량물체의무게중심 (cee of ma) 를향한다. 물리시뮬레이션 보다사실적인시뮬레이션을위해서매프레임마다모든물체간의힘을계산할필요가있다. 여러개의힘이적용될때, 벡터가추가된다. aviy GmM m, M : 질점의질량( k) : 거리( mee) ( G 6.67 ) Pojecile Moio 시간 에서의초기위치가P 이고, 초기속도가 v 인발사체 (pojecile) 의위치 x + v + x + vx, y + vy, z( z + vz 발사체가최대높이에도달하는시간 v y vy 발사체가도달할수있는최대높이 h h y + v y Pojecile Moio 발사체가원래의높이로내려올때까지날아간수평거리 v y y + vy y 또는 vxvy x + vx에를대입 발사될때의초기속력 가주어졌을때, 발사체를최대한높이올릴수있는발사각도 ( iα ) vz h y + h y + α i ( h y 원하는도달거리 를가기위한발사각도 vxv y ( coα )( iα ) i α α i )
Buoyacy 공기나물과같은유체속에돌과같은고체가존재하는경우, 중력외에부력과저항력두가지힘이작용. 부력 (buoyacy) 밀도의차이에의하여위로저절로상승하여올라가는부양력 아르키메데스 (Achimee) 의원리 : 물체에작용하는부력의크기는물체가밀어낸유체의무게와같다. 부력 유체의밀도 x 중력가속도 (9.8 m/ ) x 부피 ( 물체의바닥넓이 x 물체의높이 ) Da 저항력 (a) 물체가움직임으로서그를방해하는유체의힘. 저항력은물체가물이나공기속에서움직일때에만발생. Da a low velociy (Soke a): 저항력은물체가클수록 (), 점성이클수록 (η), 속도가빠를수록 (v) 세다. bv b 6πη : 입자의반지름, η : 유체의점성(vicoiy) buoyacy ρ liqui V Da a hih velociy: ˆ ρv ACv ρ : 유체의밀도( eiy), A: 영역, C v : 유체에서물체의속력 : a coefficie, vˆ : 속도의방향 ieic icio 운동마찰 (kieic ficio) 서로상대적으로움직이는두표면사이에서발생하는힘. 각자의운동에대한저항으로작용함. 운동마찰력 N : 물체가표면에대해가하는힘의법선 μ : 운동마찰계수. 물체들이맞닿는표면의재질에따라다름 μ N μ N μ m coθ N m coθ m m k G m iθ θ G 평행면으로의중력 ) + ( 운동마찰 ) ( a / m ( + ) / m iθ μ coθ G Saic icio 정지마찰 (aic ficio) 한표면이그위에놓여있는정지된물체를움직이지못하도록붙잡고있는힘. 물체에가해지는 aeial foce 의반대방향으로작용하여물체의운동을방해함. 정지마찰력 μ N S N : 법선방향의힘 μ : 정지마찰계수. 물체들이맞닿는표면의재질에따라다름 S S 물체에가해지는힘이 S 의최대값을넘는순간물체가움직이기시작하며, 그때부터는 S 가사라지고, 가작용. 정지된물체를움직이게하는것이움직이는물체를계속움직이게하는것보다더힘들다 : < S 평면을기울일때물체가미끄러지기시작하는각도 : 정지마찰력 평면과수평인중력성분 μsm coθ m iθ θ a μs
Momeum 힘 (foce) 은운동량 (momeum) 의미분값 P mv P v m ma 모멘텀을사용한방법 힘을적분하여모멘텀계산 모멘텀과질량으로속도계산 속도를적분하여위치계산 oce CompueToaloce(); Momeum + oce * ; Velociy Momeum / Ma; Poiio + Velociy* ; Aula Velociy 각속도 (aula velociy) 는물체의회전속도 각속도는시간당각도의변화율 (aia/eco 단위 ) ω ( θ ( 각속도는회전축 A 에평행이고크기가 ω( 인벡터 ω ( ) ω( A 회전의중심으로부터 만큼떨어진곳에서물체가속도 v로운동하고있을때 물체의속도 : v ( ω( 물체의위치를 ( 라고하면물체의선속도 (liea velociy): v ( ω( Ceifual oce 물체의선가속도 (liea acceleaio) a( ω'( + ω( '( ω'( + ω( ω( [ ] 각속도가일정한경우 : ω ( [ ( ( )] a ( ω( ω 가속도 a 는안쪽방향임 : 끝의장력 (eio) 으로부터발생 물체에서장력과같은크기의반대방향으로힘이작용 - 원심력 (ceifual foce): ( ω( [ ( ( ]) c m ω ( 와 ω( 가수직인경우, 원심력은한 cala 로표현됨 mv mω c X θ A α a vωx Y Rii Moio 강체운동 (ii moio) 강체란물체들이서로에대해절대적으로고정되어있는고체 (oli objec. Talaio과 oaio만가능함 Rii boy yamic 자동차등 ii boy moio을다룸 Liea와 aula에대한위치, 속도, 가속도를다루어야함 oce CompueToaloce(); Momeum + oce * ; Velociy Momeum / Ma; Poiio + Velociy* ; Toque CompueToalToque(); AMomeum + Toque * ; Maix I Maix*RoIeia*Maix.Ivee(); // eo AVelociy I.Ivee()*AMomeum; Maix.Roae(AVelociy*;
Ieaio Meho Eule meho v v + a*, x x + v* 변화율이상수일때는 % 정확함 변화율이시간에따라변할때는에러가존재함 floa ; // 현재시간 floa ; // 시간간격 (imeamp) floa velociy ; // 초기속도 floa poiio ; // 초기위치 floa foce ; floa ma ; floa acceleaio foce/ma; while (<) { poiio + velociy * ; velociy + acceleaio * ; + ; } Iiial : y'( f (, ), ) y Eule Meho : y y hf (, y) + + Ieaio Meho Rue-ua meho R4 는매우정확하고미분에안정적임 Iiial : k k k 4 f ( f ( y' k + k lope f (, y), h R4 : y+ y + 6 k f (, y ) f ( h h +, y + k) h h +, y + k) + h, y + hk ) + k 6 ) y ( k + k + k + k ) + k 4 4 Ieaio Meho voi R4Ieaio(veco& po, veco& vel, floa, floa { veco kvel vel; veco kacc f(, po, vel); veco kvel vel +.5f * * kacc; veco kacc f( +.5f *, po +.5f * * kvel, kvel); veco kvel vel +.5f * * kacc; veco kacc f( +.5f *, po +.5f * * kvel, kvel); veco k4vel vel + * kacc; veco k4acc f( +, po + * kvel, k4vel); po + ( / 6.f) * (kvel +.f * kvel +.f * kvel + k4vel); vel + ( / 6.f) * (kacc +.f * kacc +.f * kacc + k4acc); } while (<) { R4Ieaio(poiio, velociy,, ; + ; } Spi Hooke Law 스프링의힘은스프링의길이 / 변위에비례 ( pi coa : 스프링강도를표현하는상수 ( iplaceme fom e leh) : 스프링을이루는 poiio veco의차 스프링은스프링으로연결된 질점으로모델링함. 동일한크기의반대방향의힘이양쪽에적용됨.
Spi 스프링의입자가멀리떨어질수록스프링의안정상태위치로끌어당기는힘이커짐 Spi 두점간의벡터를사용하여변위와힘의방향을계산 Veco v poi poi; floa iplaceme v.leh() eleh; v.omalize(); Veco foce picoa * iplaceme * v; 스프링의양끝을동시에눌렀을때입자의위치가스프링의안정상태에서의길이만큼떨어지도록미는힘이작용함 Refeece hp://e.wikipeia.o/wiki/newo%7_law_of_moio hp://e.wikipeia.o/wiki/equaio_of_moio hp://e.wikipeia.o/wiki/pojecile hp://e.wikipeia.o/wiki/tajecoy hp://e.wikipeia.o/wiki/buoyacy hp://e.wikipeia.o/wiki/da_(phyic) hp://e.wikipeia.o/wiki/eule_meho hp://e.wikipeia.o/wiki/r4 hp://www.affe.o/ame-phyic/