SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
Part 1 - Physics Simulation Basics
Physically-based
Modeling
Young-Min Kang
Tongmyong University
Basic Concepts
1. Mass, Force, and Time
2. Kinematics based Simulation
3. Dynamics and Simple Numerical Integration
Physically-based Modelling
Mass, Force, and
Time
Young-Min Kang
Tongmyong University
Mass
❖ Mass
❖ Resistance to being accelerated by force
❖ accumulated density (kg/m3)
❖ integration of density
m =
Z
⇢dV
Centre of Mass
❖ theory
❖ computation
xc =
R
x0dm
m
yc =
R
y0dm
m
zc =
R
z0dm
m
xc =
P
ximi
P
mi
yc =
P
yimi
P
mi
zc =
P
zimi
P
mi
cg =
P
(cgimi)
m
V dm at (x0,y0,z0)
Moment of Inertia
❖ angular mass
❖ rotation axis is important
❖ resistance to angular acceleration along the axis
I =
Z
m
r2
dm
rotation axis
r dm
Examples
sphere
spherical shell
Newton’s 2nd
law of motion
❖ force = mass x acceleration
❖ total force
❖ sum of all the exerted forces
❖ acceleration is determined by the total force
f = ma
X
fx = max
X
fy = may
X
fz = maz
fnet
fnet =
X
fi
a =
fnet
m
Linear Momentum and its Derivative
❖ Linear Momentum: G
❖ mass x velocity
❖ G = mv
❖ Derivative of Linear Momentum with respect to time
❖ therefore,
dG
dt
=
dmv
dt
= m
dv
dt
= ma
dG
dt
=
X
f
Rotational Motion
❖ Torque:
❖ “force” in rotation
❖ angular momentum
❖ sum of moments of momentum of all particles
⌧
⌧ = r ⇥ f
f
r
!
ri
vi
H =
X
ri ⇥ mivi vi = ! ⇥ ri
angular velocity
H =
X
ri ⇥ mi(! ⇥ ri)
Angular Momentum = A. Mass x A. Velocity
❖ Linar Momentum: G
❖ G = mv
❖ Angular Momentum
H =
X
ri ⇥ mi(! ⇥ ri)
H =
Z
!r2
dm
= !
Z
r2
dm
= !I = I!
Inertia Tensor
(Angular Mass)
Angular Velocity
Derivative of Angular Momentum
❖ dG/dt = total force
❖ dH/dt = total torque
dH
dt
=
dI!
dt
= I
d!
dt
= I↵
X
⌧ = I↵ ↵ = I 1
X
⌧
Tensor
❖ Tensor
❖ mathematical expression that has magnitude and direction
❖ its magnitude may not be unique depending on the direction
❖ typically used to represent properties of materials where these properties have different
magnitudes in different directions.
❖ Isotropic vs. Anisotropic
❖ isotropic: properties are the same in all direction
❖ anisotropic: properties vary depending on direction
❖ Moment of Inertia
❖ inertia tensor (in 3D)
❖ nine components to fully describe it for any arbitrary rotation. (3x3 matrix)
❖ property of the body that varies with the axis of rotation.
Time
❖ Classic Physics
❖ Time is “constant”
❖ Modern Physics
❖ Time is “variable”
❖ “Speed of Light” is constant: c
❖ c = 299,792,458 m/s
Relativistic Time - Just for fun
c = 2L/ t
mirrors are travelling in a spaceship
in the spaceship
on earth
if c is constant
time should be DIFFERENT
c = 2H/ te
c = 2L/ ts
We are not likely to use this relativistic time for this course…
Time Dilation
❖ Simple geometry
❖ time dilation
✓
c te
2
◆2
= L2
+
✓
v te
2
◆2
4L2
= c2
t2
e v2
t2
e
4L2
= (c2
v2
) t2
e
4L2
c2
= (1
v2
c2
) t2
e
2L
c
=
r
1
v2
c2
te
t =
r
1
v2
c2
te
te =
1
q
1 v2
c2
t
H2
= L2
+
✓
v te
2
◆2
Time and Animation
❖ Animation
❖ change over time
❖ Computer Animation
❖ computing the physical state in accordance with “time”
❖ We must measure the time
❖ Stop watch is needed
❖ Let’s make our own stop watch for animation
Stop Watch (header)
Stop Watch (implementation)
Visualise Your Stop Watch
❖ Implement your stop watch
Physically-based Modelling
Kinematics Young-Min Kang
Tongmyong University
Kinematics
❖ Kinematics vs. Dynamics
❖ kinematics
❖ force is not considered
❖ location, velocity, and acceleration are considered as
❖ functions of time
❖ x(t), v(t), a(t)
❖ dynamics
❖ force plays the most essential role
❖ compute f(t)
❖ a(t) = f(t)/m
❖ v(t+dt) += a(t)dt
❖ x(t+dt) += v(t+dt)dt
f=ma
Statics, Kinetics, Kinematics and Dynamics
❖ Statics
❖ the study of equilibrium and its relation to forces
❖ Kinetics
❖ the study of motion and its relation to forces
❖ Kinematics
❖ the study of observed motions without regard for circumstances causing them
❖ Dynamics
❖ Statics + Kinetics
classical mechanics
Particle and Rigid Body
❖ Particle
❖ very very tiny object with mass
❖ volume can be ignored
❖ rocket trajectory analysis
❖ the volume of the rocket can be ignored
❖ rocket can be regarded a particle
❖ Rigid body (= idealised solid body)
❖ object with mass and volume
❖ the shape does not change in any condition
❖ valid animation of rigid body = rotation and translation
Velocity
❖ velocity
❖ a vector
❖ speed: the magnitude of velocity
❖ velocity = (speed + direction)
❖ direction of velocity
❖ moving direction
❖ magnitude of velocity
❖ ratio of moving distance to time
v =
s
t
ratio of displacement to time interval
Instantaneous Velocity
❖ Reduce the time interval
❖ the more precise velocity at the moment
❖ if the time interval approaches to 0
❖ instantaneous velocity
v = lim
t!0
s
t
=
ds
dt
displacement
❖ integration of velocity
❖ integration from t1 to t2
❖ equivalent to the displacement
❖ If we know the velocity
❖ we can predict where the particle will be located in the future
v = lim
t!0
s
t
=
ds
dt
vdt = ds
Z
vdt =
Z
ds
Z t2
t1
vdt =
Z s(t2)
s(t1)
ds
Z t2
t1
vdt = s(t2) s(t1) = s
Acceleration
❖ Average acceleration
❖ ratio of velocity change to the time interval
❖ Instantaneous acceleration
❖ Integration of acceleration
❖ velocity change
a = v/ t
a = lim
t!0
v/ t = dv/dt
adt = dv
Z t2
t1
adt =
Z v(t2)
v(t1)
dv = v
Constant Acceleration
❖ Simple problem for Kinematics
❖ example of constant acceleration: gravity
❖ gravitational acceleration
❖ magnitude: 9.81 m/s2
❖ direction: downwards (0,-1,0)
❖ We can easily “integrate the acceleration” to compute
❖ velocity change at every time
❖ this makes it possible to know the velocity at every time: v(t)
Gravitational Acceleration
❖ gravitational acceleration: g
❖ velocity change and the integration of acceleration
❖ If we know every thing at time t1
❖ We can easily predict the velocity at time t2
❖ if t1
=0 (t2
=t)
Z v(t2)
v(t1)
dv =
Z t2
t1
gdt
v2 v1 = g(t2 t1)
v2 = gt2 gt1 + v1
v2 = v1 + gt
Velocity as f(Displacement)
❖ Another differential equation
❖ Integration
❖ Relation between velocity and displacement
v
dv
dt
=
ds
dt
a
vdv = ads
Z v2
v1
vdv =
Z s2
s1
ads
1
2
v2
|v2
v1
= as|s2
s1
= gs|s2
s1
1
2
(v2
2
v1
2
) = g(s2 s1)
v2
2
= 2g(s2 s1) + v1
2
Location
❖ Velocity and displacement
❖ Integration
❖ Location at time t
vdt = ds
(v1 + gt)dt = ds
Z t
0
(v1 + gt)dt =
Z s2
s1
ds
v1t +
1
2
gt2
= s2 s1
s2 = v1t +
1
2
gt2
+ s1
Kinematic simulation
#include "KinematicsSimulator.h"
CKinematicSimulator::CKinematicSimulator() : CSimulator() {}
void CKinematicSimulator::init() {
initialLoc.set(0,1,0);
initialVel.set(0,3,0);
gravity.set(0.0, -9.8, 0.0);
currentLoc = initialLoc;
particle.setPosition(currentLoc[0], currentLoc[1], currentLoc[2]);
particle.setRadius(0.1);
}
void CKinematicSimulator::doBeforeSimulation(double dt, double currentTime) {
}
void CKinematicSimulator::doSimulation(double dt, double currentTime) {
currentLoc = initialLoc
+ currentTime*initialVel
+ (0.5 * currentTime * currentTime) * gravity ;
particle.setPosition(currentLoc[0], currentLoc[1], currentLoc[2]);
particle.drawWithGL();
}
void CKinematicSimulator::doAfterSimulation(double dt, double currentTime) {
}
https://github.com/dknife/201501Lec_GamePhysics/tree/master/GPcode01_03_KinematicParticleExplosion
Particle explosion with Kinematics
❖ KinematicSimulator.cpp
#include "KinematicsSimulator.h"
CKinematicSimulator::CKinematicSimulator() : CSimulator() {}
void CKinematicSimulator::init() {
for(int i=0;i<NUMPARTS;i++)particle[i].randomInit();
}
void CKinematicSimulator::doBeforeSimulation(double dt, double currentTime) { }
void CKinematicSimulator::doSimulation(double dt, double currentTime) {
for(int i=0;i<NUMPARTS;i++){
particle[i].simulate(dt, currentTime);
particle[i].drawWithGL(POINT_DRAW);
}
}
void CKinematicSimulator::doAfterSimulation(double dt, double currentTime) { }
Particle explosion with Kinematics
❖ Particle.cpp
void CParticle::randomInit() {
double speed = rand()%10000 / 10000.0 + 1.0;
double theta = 2.0*3.141592 * (rand()%10000 / 10000.0);
double phi = 2.0*3.141592 * (rand()%10000 / 10000.0);
double vx,vy,vz; // spherical coord to cartesian coord
vy = speed*cos(phi)+2.0;
vx = speed*cos(theta)*sin(phi);
vz = speed*sin(theta)*sin(phi);
initialLoc.set(0,1,0);
initialVel.set(vx, vy, vz);
gravity.set(0.0, -9.8, 0.0);
radius = 0.01;
currentLoc = initialLoc;
}
void CParticle::simulate(double dt, double et) {
currentLoc = initialLoc + et*initialVel + (0.5 * et * et) * gravity ;
setPosition(currentLoc[0], currentLoc[1], currentLoc[2]);
}
Result
Physically-based Modelling
Dynamics and
Numerical Integration
Young-Min Kang
Tongmyong University
Dynamics
❖ Dynamics
❖ force-based understanding of motions
❖ Important formula
❖ f = ma
❖ Rigid body
⌧ = I ˙!
Integration of Equations of Motion
❖ Newton’s 2nd law of motion
❖ f = ma
❖ In other words,
❖ dv = ?
f = m
dv
dt
fdt
m
= dv
if force is constant
f
m
(t2 t1) = v2 v1
f
m
t = v
Z t2
t1
fdt
m
=
Z v2
v1
dv
Initial Condition Problem
❖ Initial conditions
❖ x(t), v(t)
❖ location and velocity at current time t
❖ Problem
❖ predict x(t+dt) and v(t+dt)
❖ predict the location and velocity after a small time step dt
❖ Repeat with Initial conditions = x(t+dt), v(t+dt)
Velocity update
❖ Initial condition of velocity
❖ v1 = v(t)
❖ Velocity to be found
❖ v2 = v(t+dt)
❖ Velocity at the next frame
❖ or
f
m
(t2 t1) = v2 v1
f
m
t = v
v(t + t) = v(t) +
f(t)
m
t
v(t + t) = v(t) + a(t) t
Position Update
❖ Velocity and Position
❖ Numerical Integration
❖ If force (or acceleration) is known at time t
❖ We can “approximately” predict velocity and location at
time t+dt
v = ds/dt vdt = ds
v(t + t) t = s
Realtime Simulation
❖ compute force: f
❖ compute acceleration: a = f/m
❖ predict the velocity after time step
❖ Euler integration
❖ predict the location after time step
❖ Euler integration
v(t + t) = a t
x(t + t) = v(t + t) t
Simulation Code - main.cpp
void keyboardFunction(unsigned char key, int x, int y) {
if (key == 27) exit(0);
switch (key) {
case 's':
if(!myWatch.bRunning()) { Simulator->start(); myWatch.start(); }
else { myWatch.stop(); Simulator->stop(); }
break;
case 'p':
myWatch.pause(); Simulator->pause();
break;
case 'r':
myWatch.resume(); Simulator->resume();
default:
break;
}
}
void displayFunction(void) {
…
// check DT (in microsecond) from StopWatch and store it to "deltaTime" (in seconds)
deltaTime = myWatch.checkAndComputeDT() / 1000000.0;
currentTime = myWatch.getTotalElapsedTime() / 1000000.0;
Simulator->actions(deltaTime, currentTime);
glutSwapBuffers();
}
Simulation Code - Simulator.cpp
#include "Simulator.h"
#include <stdlib.h>
#include <stdio.h>
// Constructor
CSimulator::CSimulator(): bRunning(false) { }
CSimulator::~CSimulator() { }
void CSimulator::actions(double dt, double currentTime) {
if(bRunning) {
doBeforeSimulation(dt, currentTime);
doSimulation(dt, currentTime);
doAfterSimulation(dt, currentTime);
}
visualize();
}
// Control Event Handlers
void CSimulator::start() {
this->init();
bRunning = true;
}
void CSimulator::stop() {
bRunning = false;
this->clean();
}
void CSimulator::pause() {}
void CSimulator::resume() {}
Simulation Code - DynamicSimulator.cpp
#include "DynamicSimulator.h"
CDynamicSimulator::CDynamicSimulator() : CSimulator() {}
void CDynamicSimulator::init() {
for(int i=0;i<NUMPARTS;i++)particle[i].randomInit();
}
void CDynamicSimulator::clean() {}
void CDynamicSimulator::doBeforeSimulation(double dt, double currentTime) {}
void CDynamicSimulator::doSimulation(double dt, double currentTime) {
for(int i=0;i<NUMPARTS;i++)
particle[i].simulate(dt, currentTime);
}
void CDynamicSimulator::doAfterSimulation(double dt, double currentTime) {}
void CDynamicSimulator::visualize(void) {
for(int i=0;i<NUMPARTS;i++) {
particle[i].drawWithGL(POINT_DRAW);
}
}
Simulation Code - Particle.cpp
void CParticle::simulate(double dt, double et) {
// Update velocity: Euler Integration of acceleration
vel = vel + dt*gravity;
// Update position: Euler Integration of velocity
loc = loc + dt*vel;
// collision handling
if(loc[1]<0) {
loc.set(loc[0], -0.9*loc[1], loc[2]);
if(vel[1]<0) vel.set(vel[0], -0.9*vel[1], vel[2]);
}
setPosition(loc[0], loc[1], loc[2]);
}
Result
Forces
❖ Forces
❖ cause motion
❖ very important in dynamics
❖ Various force models
Concepts
❖ Force field : example - gravitational force
❖ Friction: a contact force that resists motion
❖ Fluid dynamic drag: resistance to objects moving in fluid
❖ Pressure: force per area
❖ Buoyancy: force pushing objects “upwards” when immersed in
a fluid
❖ Springs and dampers: elastically ties objects
❖ Force applies torque to an object, and make it “rotate.”
Force field
❖ Force field
❖ a vector field indicating the force exerted by on object
on another
❖ Very good example
❖ gravitational force field
❖ electromagnetic force field
Gravitational force field
❖ universal gravitational force
❖ G: gravitation constance
❖ r: distance between masses
❖ m_{1,2}: mass of each objects
❖ gravity on Earth
❖ mass of Earth:
❖ radius of Earth:
❖ gravitational acceleration
|fu| = Gm1m2/r2
6.673 ⇥ 10 11
(N · m2
)/kg2
5.98 ⇥ 1024
kg
6.38 ⇥ 106
m
Gmearth
r2
' (
6.673 ⇥ 5.98
6.382
) ⇥ 10m/s2
' 9.8034m/s2
friction
❖ resistance force due to the contacting surfaces
❖ contact force
❖ normal force: N is important
❖ two friction
❖ static friction: maximum friction
❖ kinetic friction
|fmax| = µsN
|fk| = µkN
Coefficients of friction
❖ Well known surfaces
Fluid dynamic drag
❖ similar to friction
❖ friction is also important component of drag
❖ but, it’s not the only one
❖ viscous drag for “slow-moving” objects (laminar)
❖ f = -C v
❖ for “fast-moving” objects (turbulence)
❖ f = -C v2
Pressure
❖ Pressure is not force
❖ pressure = force per unit area
❖ F = PA (force = pressure x area )
❖ P = F/A
❖ Pressure is important in simulating
❖ boats, hovercrafts,…
Buoyancy
❖ Different pressure in fluid
❖ Horizontal net force = 0
❖ Vertical net force = bottom force - top force
❖ F = PA
❖ Pressures: function(density, gravity)
❖ on top surface
❖ on bottom surface
Pt = ⇢ght
Pb = ⇢ghb
Buoyancy
❖ forces
❖ difference
ft = PtAt = ⇢ghts2
fb = PbAb = ⇢ghbs2
fb ft = ⇢ghbs2
⇢ghts2
= ⇢g(hb ht)s2
= ⇢gs3
= ⇢gV (V : volume)
Spring force
❖ Hooke’s law
❖ force needed to extend or compress a spring by a distance x is proportional to
that distance
❖ f = -k x
❖ k: spring constant
❖ rest length of spring:
❖ current length of spring:
❖ force magnitude:
❖ force direction: obj1 and obj2 are linked and located at x1 and x2.
❖ and
|f| = ks(L r)
x1 x2
|x1 x2|
x1 x2
|x1 x2|
Damper
❖ Springs do not oscillate forever
❖ energy dissipation
❖ simple model
❖ damping force
fd = kd(v1 v2)
Spring and Damper
X1
X2
L
L
f1 = (ks(L r) + kd(v1 v2) ·
L
L
)
L
L
f2 = f1
Force and Torque
❖ Force
❖ causes linear acceleration
❖ Torque
❖ causes angular acceleration
❖ Torque:
❖ a vector
❖ magnitude
❖ how quickly the angular velocity is changed
❖ |r x f |
❖ direction
❖ rotational axis = ( r x f ) / |r x f|
⌧
⌧ = r ⇥ f
f
r

Weitere ähnliche Inhalte

Was ist angesagt?

Projectile Motion
Projectile MotionProjectile Motion
Projectile MotionArlo Alegre
 
Projectile motion
Projectile motionProjectile motion
Projectile motiongngr0810
 
Kinematic equations of motion
Kinematic equations of motionKinematic equations of motion
Kinematic equations of motionmantlfin
 
Kinematics powerpoint
Kinematics powerpointKinematics powerpoint
Kinematics powerpointDavid Hsieh
 
Serway, raymond a physics for scientists and engineers (6e) solutions
Serway, raymond a   physics for scientists and engineers (6e) solutionsSerway, raymond a   physics for scientists and engineers (6e) solutions
Serway, raymond a physics for scientists and engineers (6e) solutionsTatiani Andressa
 
Derivation of Kinematic Equations
Derivation of Kinematic EquationsDerivation of Kinematic Equations
Derivation of Kinematic Equationsomar_egypt
 
FUNDAMENTALS OF PHYSICS
FUNDAMENTALS OF PHYSICSFUNDAMENTALS OF PHYSICS
FUNDAMENTALS OF PHYSICSRijo Tom
 
5.8 rectilinear motion
5.8 rectilinear motion5.8 rectilinear motion
5.8 rectilinear motiondicosmo178
 
SPM Physics Formula List Form4
SPM Physics Formula List Form4SPM Physics Formula List Form4
SPM Physics Formula List Form4Zhang Ewe
 
Engineering science lesson 1
Engineering science lesson 1Engineering science lesson 1
Engineering science lesson 1Shahid Aaqil
 
physics-of-vibration-and-waves-solutions-pain
 physics-of-vibration-and-waves-solutions-pain physics-of-vibration-and-waves-solutions-pain
physics-of-vibration-and-waves-solutions-painmiranteogbonna
 
Chapter 11 kinematics of particles
Chapter 11 kinematics of particlesChapter 11 kinematics of particles
Chapter 11 kinematics of particlesRogin Beldeneza
 
Unit 5 mm9400 ver1.1(2014)
Unit 5 mm9400 ver1.1(2014)Unit 5 mm9400 ver1.1(2014)
Unit 5 mm9400 ver1.1(2014)all_engineering
 
Dynamics of structures 5th edition chopra solutions manual
Dynamics of structures 5th edition chopra solutions manualDynamics of structures 5th edition chopra solutions manual
Dynamics of structures 5th edition chopra solutions manualSchneiderxds
 
Whole Procedure of Equations of motion.
Whole Procedure of Equations of motion.Whole Procedure of Equations of motion.
Whole Procedure of Equations of motion.Nafria_duky
 

Was ist angesagt? (20)

Projectile Motion
Projectile MotionProjectile Motion
Projectile Motion
 
Projectile motion
Projectile motionProjectile motion
Projectile motion
 
Kinematic equations of motion
Kinematic equations of motionKinematic equations of motion
Kinematic equations of motion
 
Chapter 2 pp
Chapter 2 ppChapter 2 pp
Chapter 2 pp
 
Kinematics powerpoint
Kinematics powerpointKinematics powerpoint
Kinematics powerpoint
 
Serway, raymond a physics for scientists and engineers (6e) solutions
Serway, raymond a   physics for scientists and engineers (6e) solutionsSerway, raymond a   physics for scientists and engineers (6e) solutions
Serway, raymond a physics for scientists and engineers (6e) solutions
 
Derivation of Kinematic Equations
Derivation of Kinematic EquationsDerivation of Kinematic Equations
Derivation of Kinematic Equations
 
FUNDAMENTALS OF PHYSICS
FUNDAMENTALS OF PHYSICSFUNDAMENTALS OF PHYSICS
FUNDAMENTALS OF PHYSICS
 
5.8 rectilinear motion
5.8 rectilinear motion5.8 rectilinear motion
5.8 rectilinear motion
 
SPM Physics Formula List Form4
SPM Physics Formula List Form4SPM Physics Formula List Form4
SPM Physics Formula List Form4
 
Engineering science lesson 1
Engineering science lesson 1Engineering science lesson 1
Engineering science lesson 1
 
motion 1 dimention
motion 1 dimentionmotion 1 dimention
motion 1 dimention
 
Projectile motion
Projectile motionProjectile motion
Projectile motion
 
physics-of-vibration-and-waves-solutions-pain
 physics-of-vibration-and-waves-solutions-pain physics-of-vibration-and-waves-solutions-pain
physics-of-vibration-and-waves-solutions-pain
 
Chapter 11 kinematics of particles
Chapter 11 kinematics of particlesChapter 11 kinematics of particles
Chapter 11 kinematics of particles
 
Unit 5 mm9400 ver1.1(2014)
Unit 5 mm9400 ver1.1(2014)Unit 5 mm9400 ver1.1(2014)
Unit 5 mm9400 ver1.1(2014)
 
Dynamics of structures 5th edition chopra solutions manual
Dynamics of structures 5th edition chopra solutions manualDynamics of structures 5th edition chopra solutions manual
Dynamics of structures 5th edition chopra solutions manual
 
ENG1040 Lec03
ENG1040 Lec03ENG1040 Lec03
ENG1040 Lec03
 
Physics 1
Physics 1Physics 1
Physics 1
 
Whole Procedure of Equations of motion.
Whole Procedure of Equations of motion.Whole Procedure of Equations of motion.
Whole Procedure of Equations of motion.
 

Andere mochten auch

Facebook ads setting up your ad campaign - beekeeper u
Facebook ads   setting up your ad campaign - beekeeper uFacebook ads   setting up your ad campaign - beekeeper u
Facebook ads setting up your ad campaign - beekeeper uAlex Cummings
 
Communication as aid: Giving voice to refugees on the Thai-Burma border
Communication as aid: Giving voice to refugees on the Thai-Burma borderCommunication as aid: Giving voice to refugees on the Thai-Burma border
Communication as aid: Giving voice to refugees on the Thai-Burma borderVictoria Jack
 
DIY Rainwater harvesting
DIY Rainwater harvestingDIY Rainwater harvesting
DIY Rainwater harvestingThibsim
 
Mirjana Gomilanovic intervju JISA
Mirjana Gomilanovic intervju JISAMirjana Gomilanovic intervju JISA
Mirjana Gomilanovic intervju JISAAgencijaOne2Grow
 
Mobile greenhouse
Mobile greenhouseMobile greenhouse
Mobile greenhouseThibsim
 
iLOOKUSA Magazine Fall 2014 Fashion Forward Issue I
iLOOKUSA Magazine Fall 2014 Fashion Forward Issue IiLOOKUSA Magazine Fall 2014 Fashion Forward Issue I
iLOOKUSA Magazine Fall 2014 Fashion Forward Issue IIlookusa Mag
 
RTS Duštvene mreže talične za biznis
RTS Duštvene mreže talične za biznisRTS Duštvene mreže talične za biznis
RTS Duštvene mreže talične za biznisAgencijaOne2Grow
 
історичний клуб шанувальники кліо
історичний клуб шанувальники кліоісторичний клуб шанувальники кліо
історичний клуб шанувальники кліоksuha12
 
数学的思考力ゲーム制作を通した低学年生の開発力向上の事例
数学的思考力ゲーム制作を通した低学年生の開発力向上の事例数学的思考力ゲーム制作を通した低学年生の開発力向上の事例
数学的思考力ゲーム制作を通した低学年生の開発力向上の事例Yoshihiro Kishimoto
 
історичний клуб пошук
історичний клуб пошукісторичний клуб пошук
історичний клуб пошукksuha12
 
Wireframing Workshop - TiE Women Create-a-Thon
Wireframing Workshop - TiE Women Create-a-ThonWireframing Workshop - TiE Women Create-a-Thon
Wireframing Workshop - TiE Women Create-a-ThonKristine Howard
 
Running blogger relations campaigns d1 11.6.13(2)
Running blogger relations campaigns d1 11.6.13(2)Running blogger relations campaigns d1 11.6.13(2)
Running blogger relations campaigns d1 11.6.13(2)Alex Cummings
 
Mortgage industry explained-maria arrua
Mortgage industry explained-maria arruaMortgage industry explained-maria arrua
Mortgage industry explained-maria arruaMaria A. Arrua
 
ゲーム教育SIG2015年度活動報告
ゲーム教育SIG2015年度活動報告ゲーム教育SIG2015年度活動報告
ゲーム教育SIG2015年度活動報告Yoshihiro Kishimoto
 

Andere mochten auch (17)

Facebook ads setting up your ad campaign - beekeeper u
Facebook ads   setting up your ad campaign - beekeeper uFacebook ads   setting up your ad campaign - beekeeper u
Facebook ads setting up your ad campaign - beekeeper u
 
Communication as aid: Giving voice to refugees on the Thai-Burma border
Communication as aid: Giving voice to refugees on the Thai-Burma borderCommunication as aid: Giving voice to refugees on the Thai-Burma border
Communication as aid: Giving voice to refugees on the Thai-Burma border
 
Vanish unwantedthoughts
Vanish unwantedthoughtsVanish unwantedthoughts
Vanish unwantedthoughts
 
DIY Rainwater harvesting
DIY Rainwater harvestingDIY Rainwater harvesting
DIY Rainwater harvesting
 
Mirjana Gomilanovic intervju JISA
Mirjana Gomilanovic intervju JISAMirjana Gomilanovic intervju JISA
Mirjana Gomilanovic intervju JISA
 
Mobile greenhouse
Mobile greenhouseMobile greenhouse
Mobile greenhouse
 
iLOOKUSA Magazine Fall 2014 Fashion Forward Issue I
iLOOKUSA Magazine Fall 2014 Fashion Forward Issue IiLOOKUSA Magazine Fall 2014 Fashion Forward Issue I
iLOOKUSA Magazine Fall 2014 Fashion Forward Issue I
 
Asi technology
Asi technologyAsi technology
Asi technology
 
RTS Duštvene mreže talične za biznis
RTS Duštvene mreže talične za biznisRTS Duštvene mreže talične za biznis
RTS Duštvene mreže talične za biznis
 
історичний клуб шанувальники кліо
історичний клуб шанувальники кліоісторичний клуб шанувальники кліо
історичний клуб шанувальники кліо
 
数学的思考力ゲーム制作を通した低学年生の開発力向上の事例
数学的思考力ゲーム制作を通した低学年生の開発力向上の事例数学的思考力ゲーム制作を通した低学年生の開発力向上の事例
数学的思考力ゲーム制作を通した低学年生の開発力向上の事例
 
Sindrom srednjeg deteta
Sindrom srednjeg detetaSindrom srednjeg deteta
Sindrom srednjeg deteta
 
історичний клуб пошук
історичний клуб пошукісторичний клуб пошук
історичний клуб пошук
 
Wireframing Workshop - TiE Women Create-a-Thon
Wireframing Workshop - TiE Women Create-a-ThonWireframing Workshop - TiE Women Create-a-Thon
Wireframing Workshop - TiE Women Create-a-Thon
 
Running blogger relations campaigns d1 11.6.13(2)
Running blogger relations campaigns d1 11.6.13(2)Running blogger relations campaigns d1 11.6.13(2)
Running blogger relations campaigns d1 11.6.13(2)
 
Mortgage industry explained-maria arrua
Mortgage industry explained-maria arruaMortgage industry explained-maria arrua
Mortgage industry explained-maria arrua
 
ゲーム教育SIG2015年度活動報告
ゲーム教育SIG2015年度活動報告ゲーム教育SIG2015年度活動報告
ゲーム教育SIG2015年度活動報告
 

Ähnlich wie Physics for Game: Part1 - Basics

formula sheet.pdf
formula sheet.pdfformula sheet.pdf
formula sheet.pdfGARRYB4
 
Dynamics.ppt
Dynamics.pptDynamics.ppt
Dynamics.pptPavanPs14
 
Lecture curvilinear
Lecture curvilinearLecture curvilinear
Lecture curvilinearMustafa Bzu
 
Chapter 7
Chapter 7Chapter 7
Chapter 7ZBTHS
 
Lecture Ch 02
Lecture Ch 02Lecture Ch 02
Lecture Ch 02rtrujill
 
Chapter 11_0 velocity, acceleration.pdf
Chapter 11_0 velocity, acceleration.pdfChapter 11_0 velocity, acceleration.pdf
Chapter 11_0 velocity, acceleration.pdfMrsTMDNMedagedara
 
Universal Gravitation
Universal GravitationUniversal Gravitation
Universal GravitationZBTHS
 
Motion 2 d
Motion  2 dMotion  2 d
Motion 2 dwpchem81
 
Physics, Astrophysics & Simulation of Gravitational Wave Source (Lecture 1)
Physics, Astrophysics & Simulation of Gravitational Wave Source (Lecture 1)Physics, Astrophysics & Simulation of Gravitational Wave Source (Lecture 1)
Physics, Astrophysics & Simulation of Gravitational Wave Source (Lecture 1)Christian Ott
 
Math Project
Math ProjectMath Project
Math Projecthsiungha
 
02 conservation equations
02 conservation equations02 conservation equations
02 conservation equationsanees solangi
 
Chapter2powerpoint 090816163937-phpapp02
Chapter2powerpoint 090816163937-phpapp02Chapter2powerpoint 090816163937-phpapp02
Chapter2powerpoint 090816163937-phpapp02Cleophas Rwemera
 
dynamics chapter 2.pptx
dynamics chapter 2.pptxdynamics chapter 2.pptx
dynamics chapter 2.pptxJibrilJundi
 
Formula Book [Physics+chemistry+Maths].pdf
Formula Book [Physics+chemistry+Maths].pdfFormula Book [Physics+chemistry+Maths].pdf
Formula Book [Physics+chemistry+Maths].pdfRaviKiranKoduri
 
Introduction to basic principles of fluid mechanics
Introduction to basic principles of fluid mechanicsIntroduction to basic principles of fluid mechanics
Introduction to basic principles of fluid mechanicsAlwin Johnnie DoraiRaj
 
Chapter 13 kinematics1 d
Chapter 13 kinematics1 dChapter 13 kinematics1 d
Chapter 13 kinematics1 dTimothy Welsh
 

Ähnlich wie Physics for Game: Part1 - Basics (20)

formula sheet.pdf
formula sheet.pdfformula sheet.pdf
formula sheet.pdf
 
Dynamics.ppt
Dynamics.pptDynamics.ppt
Dynamics.ppt
 
Lecture curvilinear
Lecture curvilinearLecture curvilinear
Lecture curvilinear
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Lecture Ch 02
Lecture Ch 02Lecture Ch 02
Lecture Ch 02
 
Chapter 11_0 velocity, acceleration.pdf
Chapter 11_0 velocity, acceleration.pdfChapter 11_0 velocity, acceleration.pdf
Chapter 11_0 velocity, acceleration.pdf
 
Universal Gravitation
Universal GravitationUniversal Gravitation
Universal Gravitation
 
Motion 2 d
Motion  2 dMotion  2 d
Motion 2 d
 
Physics, Astrophysics & Simulation of Gravitational Wave Source (Lecture 1)
Physics, Astrophysics & Simulation of Gravitational Wave Source (Lecture 1)Physics, Astrophysics & Simulation of Gravitational Wave Source (Lecture 1)
Physics, Astrophysics & Simulation of Gravitational Wave Source (Lecture 1)
 
Ap review total
Ap review totalAp review total
Ap review total
 
Math Project
Math ProjectMath Project
Math Project
 
02 conservation equations
02 conservation equations02 conservation equations
02 conservation equations
 
Velocity And acceleration
Velocity And accelerationVelocity And acceleration
Velocity And acceleration
 
Lec04
Lec04Lec04
Lec04
 
motion
motionmotion
motion
 
Chapter2powerpoint 090816163937-phpapp02
Chapter2powerpoint 090816163937-phpapp02Chapter2powerpoint 090816163937-phpapp02
Chapter2powerpoint 090816163937-phpapp02
 
dynamics chapter 2.pptx
dynamics chapter 2.pptxdynamics chapter 2.pptx
dynamics chapter 2.pptx
 
Formula Book [Physics+chemistry+Maths].pdf
Formula Book [Physics+chemistry+Maths].pdfFormula Book [Physics+chemistry+Maths].pdf
Formula Book [Physics+chemistry+Maths].pdf
 
Introduction to basic principles of fluid mechanics
Introduction to basic principles of fluid mechanicsIntroduction to basic principles of fluid mechanics
Introduction to basic principles of fluid mechanics
 
Chapter 13 kinematics1 d
Chapter 13 kinematics1 dChapter 13 kinematics1 d
Chapter 13 kinematics1 d
 

Mehr von Young-Min kang

[update] Introductory Parts of the Book "Dive into Deep Learning"
[update] Introductory Parts of the Book "Dive into Deep Learning"[update] Introductory Parts of the Book "Dive into Deep Learning"
[update] Introductory Parts of the Book "Dive into Deep Learning"Young-Min kang
 
Fast CCL(connected component labeling) with GPU
Fast CCL(connected component labeling) with GPUFast CCL(connected component labeling) with GPU
Fast CCL(connected component labeling) with GPUYoung-Min kang
 
인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개Young-Min kang
 
Quaternion and Rotation
Quaternion and RotationQuaternion and Rotation
Quaternion and RotationYoung-Min kang
 
게임수학 강의노트 1부
게임수학 강의노트 1부게임수학 강의노트 1부
게임수학 강의노트 1부Young-Min kang
 
물리기반 모델링 기초 - 강의노트
물리기반 모델링 기초 - 강의노트물리기반 모델링 기초 - 강의노트
물리기반 모델링 기초 - 강의노트Young-Min kang
 
Algorithms summary (English version)
Algorithms summary (English version)Algorithms summary (English version)
Algorithms summary (English version)Young-Min kang
 
Algorithms summary korean
Algorithms summary koreanAlgorithms summary korean
Algorithms summary koreanYoung-Min kang
 

Mehr von Young-Min kang (11)

[update] Introductory Parts of the Book "Dive into Deep Learning"
[update] Introductory Parts of the Book "Dive into Deep Learning"[update] Introductory Parts of the Book "Dive into Deep Learning"
[update] Introductory Parts of the Book "Dive into Deep Learning"
 
Fast CCL(connected component labeling) with GPU
Fast CCL(connected component labeling) with GPUFast CCL(connected component labeling) with GPU
Fast CCL(connected component labeling) with GPU
 
인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개인공지능과 딥러닝에 대한 소개
인공지능과 딥러닝에 대한 소개
 
Quaternion and Rotation
Quaternion and RotationQuaternion and Rotation
Quaternion and Rotation
 
게임수학 강의노트 1부
게임수학 강의노트 1부게임수학 강의노트 1부
게임수학 강의노트 1부
 
물리기반 모델링 기초 - 강의노트
물리기반 모델링 기초 - 강의노트물리기반 모델링 기초 - 강의노트
물리기반 모델링 기초 - 강의노트
 
Algorithms summary (English version)
Algorithms summary (English version)Algorithms summary (English version)
Algorithms summary (English version)
 
Algorithms summary korean
Algorithms summary koreanAlgorithms summary korean
Algorithms summary korean
 
Game Physics Test
Game Physics TestGame Physics Test
Game Physics Test
 
Game salad 07
Game salad 07Game salad 07
Game salad 07
 
Game Salad Study
Game Salad StudyGame Salad Study
Game Salad Study
 

Kürzlich hochgeladen

Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIShubhangi Sonawane
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Shubhangi Sonawane
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 

Kürzlich hochgeladen (20)

Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 

Physics for Game: Part1 - Basics

  • 1. Part 1 - Physics Simulation Basics Physically-based Modeling Young-Min Kang Tongmyong University Basic Concepts 1. Mass, Force, and Time 2. Kinematics based Simulation 3. Dynamics and Simple Numerical Integration
  • 2. Physically-based Modelling Mass, Force, and Time Young-Min Kang Tongmyong University
  • 3. Mass ❖ Mass ❖ Resistance to being accelerated by force ❖ accumulated density (kg/m3) ❖ integration of density m = Z ⇢dV
  • 4. Centre of Mass ❖ theory ❖ computation xc = R x0dm m yc = R y0dm m zc = R z0dm m xc = P ximi P mi yc = P yimi P mi zc = P zimi P mi cg = P (cgimi) m V dm at (x0,y0,z0)
  • 5. Moment of Inertia ❖ angular mass ❖ rotation axis is important ❖ resistance to angular acceleration along the axis I = Z m r2 dm rotation axis r dm
  • 7. Newton’s 2nd law of motion ❖ force = mass x acceleration ❖ total force ❖ sum of all the exerted forces ❖ acceleration is determined by the total force f = ma X fx = max X fy = may X fz = maz fnet fnet = X fi a = fnet m
  • 8. Linear Momentum and its Derivative ❖ Linear Momentum: G ❖ mass x velocity ❖ G = mv ❖ Derivative of Linear Momentum with respect to time ❖ therefore, dG dt = dmv dt = m dv dt = ma dG dt = X f
  • 9. Rotational Motion ❖ Torque: ❖ “force” in rotation ❖ angular momentum ❖ sum of moments of momentum of all particles ⌧ ⌧ = r ⇥ f f r ! ri vi H = X ri ⇥ mivi vi = ! ⇥ ri angular velocity H = X ri ⇥ mi(! ⇥ ri)
  • 10. Angular Momentum = A. Mass x A. Velocity ❖ Linar Momentum: G ❖ G = mv ❖ Angular Momentum H = X ri ⇥ mi(! ⇥ ri) H = Z !r2 dm = ! Z r2 dm = !I = I! Inertia Tensor (Angular Mass) Angular Velocity
  • 11. Derivative of Angular Momentum ❖ dG/dt = total force ❖ dH/dt = total torque dH dt = dI! dt = I d! dt = I↵ X ⌧ = I↵ ↵ = I 1 X ⌧
  • 12. Tensor ❖ Tensor ❖ mathematical expression that has magnitude and direction ❖ its magnitude may not be unique depending on the direction ❖ typically used to represent properties of materials where these properties have different magnitudes in different directions. ❖ Isotropic vs. Anisotropic ❖ isotropic: properties are the same in all direction ❖ anisotropic: properties vary depending on direction ❖ Moment of Inertia ❖ inertia tensor (in 3D) ❖ nine components to fully describe it for any arbitrary rotation. (3x3 matrix) ❖ property of the body that varies with the axis of rotation.
  • 13. Time ❖ Classic Physics ❖ Time is “constant” ❖ Modern Physics ❖ Time is “variable” ❖ “Speed of Light” is constant: c ❖ c = 299,792,458 m/s
  • 14. Relativistic Time - Just for fun c = 2L/ t mirrors are travelling in a spaceship in the spaceship on earth if c is constant time should be DIFFERENT c = 2H/ te c = 2L/ ts We are not likely to use this relativistic time for this course…
  • 15. Time Dilation ❖ Simple geometry ❖ time dilation ✓ c te 2 ◆2 = L2 + ✓ v te 2 ◆2 4L2 = c2 t2 e v2 t2 e 4L2 = (c2 v2 ) t2 e 4L2 c2 = (1 v2 c2 ) t2 e 2L c = r 1 v2 c2 te t = r 1 v2 c2 te te = 1 q 1 v2 c2 t H2 = L2 + ✓ v te 2 ◆2
  • 16. Time and Animation ❖ Animation ❖ change over time ❖ Computer Animation ❖ computing the physical state in accordance with “time” ❖ We must measure the time ❖ Stop watch is needed ❖ Let’s make our own stop watch for animation
  • 19. Visualise Your Stop Watch ❖ Implement your stop watch
  • 21. Kinematics ❖ Kinematics vs. Dynamics ❖ kinematics ❖ force is not considered ❖ location, velocity, and acceleration are considered as ❖ functions of time ❖ x(t), v(t), a(t) ❖ dynamics ❖ force plays the most essential role ❖ compute f(t) ❖ a(t) = f(t)/m ❖ v(t+dt) += a(t)dt ❖ x(t+dt) += v(t+dt)dt f=ma
  • 22. Statics, Kinetics, Kinematics and Dynamics ❖ Statics ❖ the study of equilibrium and its relation to forces ❖ Kinetics ❖ the study of motion and its relation to forces ❖ Kinematics ❖ the study of observed motions without regard for circumstances causing them ❖ Dynamics ❖ Statics + Kinetics classical mechanics
  • 23. Particle and Rigid Body ❖ Particle ❖ very very tiny object with mass ❖ volume can be ignored ❖ rocket trajectory analysis ❖ the volume of the rocket can be ignored ❖ rocket can be regarded a particle ❖ Rigid body (= idealised solid body) ❖ object with mass and volume ❖ the shape does not change in any condition ❖ valid animation of rigid body = rotation and translation
  • 24. Velocity ❖ velocity ❖ a vector ❖ speed: the magnitude of velocity ❖ velocity = (speed + direction) ❖ direction of velocity ❖ moving direction ❖ magnitude of velocity ❖ ratio of moving distance to time v = s t ratio of displacement to time interval
  • 25. Instantaneous Velocity ❖ Reduce the time interval ❖ the more precise velocity at the moment ❖ if the time interval approaches to 0 ❖ instantaneous velocity v = lim t!0 s t = ds dt
  • 26. displacement ❖ integration of velocity ❖ integration from t1 to t2 ❖ equivalent to the displacement ❖ If we know the velocity ❖ we can predict where the particle will be located in the future v = lim t!0 s t = ds dt vdt = ds Z vdt = Z ds Z t2 t1 vdt = Z s(t2) s(t1) ds Z t2 t1 vdt = s(t2) s(t1) = s
  • 27. Acceleration ❖ Average acceleration ❖ ratio of velocity change to the time interval ❖ Instantaneous acceleration ❖ Integration of acceleration ❖ velocity change a = v/ t a = lim t!0 v/ t = dv/dt adt = dv Z t2 t1 adt = Z v(t2) v(t1) dv = v
  • 28. Constant Acceleration ❖ Simple problem for Kinematics ❖ example of constant acceleration: gravity ❖ gravitational acceleration ❖ magnitude: 9.81 m/s2 ❖ direction: downwards (0,-1,0) ❖ We can easily “integrate the acceleration” to compute ❖ velocity change at every time ❖ this makes it possible to know the velocity at every time: v(t)
  • 29. Gravitational Acceleration ❖ gravitational acceleration: g ❖ velocity change and the integration of acceleration ❖ If we know every thing at time t1 ❖ We can easily predict the velocity at time t2 ❖ if t1 =0 (t2 =t) Z v(t2) v(t1) dv = Z t2 t1 gdt v2 v1 = g(t2 t1) v2 = gt2 gt1 + v1 v2 = v1 + gt
  • 30. Velocity as f(Displacement) ❖ Another differential equation ❖ Integration ❖ Relation between velocity and displacement v dv dt = ds dt a vdv = ads Z v2 v1 vdv = Z s2 s1 ads 1 2 v2 |v2 v1 = as|s2 s1 = gs|s2 s1 1 2 (v2 2 v1 2 ) = g(s2 s1) v2 2 = 2g(s2 s1) + v1 2
  • 31. Location ❖ Velocity and displacement ❖ Integration ❖ Location at time t vdt = ds (v1 + gt)dt = ds Z t 0 (v1 + gt)dt = Z s2 s1 ds v1t + 1 2 gt2 = s2 s1 s2 = v1t + 1 2 gt2 + s1
  • 32. Kinematic simulation #include "KinematicsSimulator.h" CKinematicSimulator::CKinematicSimulator() : CSimulator() {} void CKinematicSimulator::init() { initialLoc.set(0,1,0); initialVel.set(0,3,0); gravity.set(0.0, -9.8, 0.0); currentLoc = initialLoc; particle.setPosition(currentLoc[0], currentLoc[1], currentLoc[2]); particle.setRadius(0.1); } void CKinematicSimulator::doBeforeSimulation(double dt, double currentTime) { } void CKinematicSimulator::doSimulation(double dt, double currentTime) { currentLoc = initialLoc + currentTime*initialVel + (0.5 * currentTime * currentTime) * gravity ; particle.setPosition(currentLoc[0], currentLoc[1], currentLoc[2]); particle.drawWithGL(); } void CKinematicSimulator::doAfterSimulation(double dt, double currentTime) { } https://github.com/dknife/201501Lec_GamePhysics/tree/master/GPcode01_03_KinematicParticleExplosion
  • 33. Particle explosion with Kinematics ❖ KinematicSimulator.cpp #include "KinematicsSimulator.h" CKinematicSimulator::CKinematicSimulator() : CSimulator() {} void CKinematicSimulator::init() { for(int i=0;i<NUMPARTS;i++)particle[i].randomInit(); } void CKinematicSimulator::doBeforeSimulation(double dt, double currentTime) { } void CKinematicSimulator::doSimulation(double dt, double currentTime) { for(int i=0;i<NUMPARTS;i++){ particle[i].simulate(dt, currentTime); particle[i].drawWithGL(POINT_DRAW); } } void CKinematicSimulator::doAfterSimulation(double dt, double currentTime) { }
  • 34. Particle explosion with Kinematics ❖ Particle.cpp void CParticle::randomInit() { double speed = rand()%10000 / 10000.0 + 1.0; double theta = 2.0*3.141592 * (rand()%10000 / 10000.0); double phi = 2.0*3.141592 * (rand()%10000 / 10000.0); double vx,vy,vz; // spherical coord to cartesian coord vy = speed*cos(phi)+2.0; vx = speed*cos(theta)*sin(phi); vz = speed*sin(theta)*sin(phi); initialLoc.set(0,1,0); initialVel.set(vx, vy, vz); gravity.set(0.0, -9.8, 0.0); radius = 0.01; currentLoc = initialLoc; } void CParticle::simulate(double dt, double et) { currentLoc = initialLoc + et*initialVel + (0.5 * et * et) * gravity ; setPosition(currentLoc[0], currentLoc[1], currentLoc[2]); }
  • 36. Physically-based Modelling Dynamics and Numerical Integration Young-Min Kang Tongmyong University
  • 37. Dynamics ❖ Dynamics ❖ force-based understanding of motions ❖ Important formula ❖ f = ma ❖ Rigid body ⌧ = I ˙!
  • 38. Integration of Equations of Motion ❖ Newton’s 2nd law of motion ❖ f = ma ❖ In other words, ❖ dv = ? f = m dv dt fdt m = dv if force is constant f m (t2 t1) = v2 v1 f m t = v Z t2 t1 fdt m = Z v2 v1 dv
  • 39. Initial Condition Problem ❖ Initial conditions ❖ x(t), v(t) ❖ location and velocity at current time t ❖ Problem ❖ predict x(t+dt) and v(t+dt) ❖ predict the location and velocity after a small time step dt ❖ Repeat with Initial conditions = x(t+dt), v(t+dt)
  • 40. Velocity update ❖ Initial condition of velocity ❖ v1 = v(t) ❖ Velocity to be found ❖ v2 = v(t+dt) ❖ Velocity at the next frame ❖ or f m (t2 t1) = v2 v1 f m t = v v(t + t) = v(t) + f(t) m t v(t + t) = v(t) + a(t) t
  • 41. Position Update ❖ Velocity and Position ❖ Numerical Integration ❖ If force (or acceleration) is known at time t ❖ We can “approximately” predict velocity and location at time t+dt v = ds/dt vdt = ds v(t + t) t = s
  • 42. Realtime Simulation ❖ compute force: f ❖ compute acceleration: a = f/m ❖ predict the velocity after time step ❖ Euler integration ❖ predict the location after time step ❖ Euler integration v(t + t) = a t x(t + t) = v(t + t) t
  • 43. Simulation Code - main.cpp void keyboardFunction(unsigned char key, int x, int y) { if (key == 27) exit(0); switch (key) { case 's': if(!myWatch.bRunning()) { Simulator->start(); myWatch.start(); } else { myWatch.stop(); Simulator->stop(); } break; case 'p': myWatch.pause(); Simulator->pause(); break; case 'r': myWatch.resume(); Simulator->resume(); default: break; } } void displayFunction(void) { … // check DT (in microsecond) from StopWatch and store it to "deltaTime" (in seconds) deltaTime = myWatch.checkAndComputeDT() / 1000000.0; currentTime = myWatch.getTotalElapsedTime() / 1000000.0; Simulator->actions(deltaTime, currentTime); glutSwapBuffers(); }
  • 44. Simulation Code - Simulator.cpp #include "Simulator.h" #include <stdlib.h> #include <stdio.h> // Constructor CSimulator::CSimulator(): bRunning(false) { } CSimulator::~CSimulator() { } void CSimulator::actions(double dt, double currentTime) { if(bRunning) { doBeforeSimulation(dt, currentTime); doSimulation(dt, currentTime); doAfterSimulation(dt, currentTime); } visualize(); } // Control Event Handlers void CSimulator::start() { this->init(); bRunning = true; } void CSimulator::stop() { bRunning = false; this->clean(); } void CSimulator::pause() {} void CSimulator::resume() {}
  • 45. Simulation Code - DynamicSimulator.cpp #include "DynamicSimulator.h" CDynamicSimulator::CDynamicSimulator() : CSimulator() {} void CDynamicSimulator::init() { for(int i=0;i<NUMPARTS;i++)particle[i].randomInit(); } void CDynamicSimulator::clean() {} void CDynamicSimulator::doBeforeSimulation(double dt, double currentTime) {} void CDynamicSimulator::doSimulation(double dt, double currentTime) { for(int i=0;i<NUMPARTS;i++) particle[i].simulate(dt, currentTime); } void CDynamicSimulator::doAfterSimulation(double dt, double currentTime) {} void CDynamicSimulator::visualize(void) { for(int i=0;i<NUMPARTS;i++) { particle[i].drawWithGL(POINT_DRAW); } }
  • 46. Simulation Code - Particle.cpp void CParticle::simulate(double dt, double et) { // Update velocity: Euler Integration of acceleration vel = vel + dt*gravity; // Update position: Euler Integration of velocity loc = loc + dt*vel; // collision handling if(loc[1]<0) { loc.set(loc[0], -0.9*loc[1], loc[2]); if(vel[1]<0) vel.set(vel[0], -0.9*vel[1], vel[2]); } setPosition(loc[0], loc[1], loc[2]); }
  • 48. Forces ❖ Forces ❖ cause motion ❖ very important in dynamics ❖ Various force models
  • 49. Concepts ❖ Force field : example - gravitational force ❖ Friction: a contact force that resists motion ❖ Fluid dynamic drag: resistance to objects moving in fluid ❖ Pressure: force per area ❖ Buoyancy: force pushing objects “upwards” when immersed in a fluid ❖ Springs and dampers: elastically ties objects ❖ Force applies torque to an object, and make it “rotate.”
  • 50. Force field ❖ Force field ❖ a vector field indicating the force exerted by on object on another ❖ Very good example ❖ gravitational force field ❖ electromagnetic force field
  • 51. Gravitational force field ❖ universal gravitational force ❖ G: gravitation constance ❖ r: distance between masses ❖ m_{1,2}: mass of each objects ❖ gravity on Earth ❖ mass of Earth: ❖ radius of Earth: ❖ gravitational acceleration |fu| = Gm1m2/r2 6.673 ⇥ 10 11 (N · m2 )/kg2 5.98 ⇥ 1024 kg 6.38 ⇥ 106 m Gmearth r2 ' ( 6.673 ⇥ 5.98 6.382 ) ⇥ 10m/s2 ' 9.8034m/s2
  • 52. friction ❖ resistance force due to the contacting surfaces ❖ contact force ❖ normal force: N is important ❖ two friction ❖ static friction: maximum friction ❖ kinetic friction |fmax| = µsN |fk| = µkN
  • 53. Coefficients of friction ❖ Well known surfaces
  • 54. Fluid dynamic drag ❖ similar to friction ❖ friction is also important component of drag ❖ but, it’s not the only one ❖ viscous drag for “slow-moving” objects (laminar) ❖ f = -C v ❖ for “fast-moving” objects (turbulence) ❖ f = -C v2
  • 55. Pressure ❖ Pressure is not force ❖ pressure = force per unit area ❖ F = PA (force = pressure x area ) ❖ P = F/A ❖ Pressure is important in simulating ❖ boats, hovercrafts,…
  • 56. Buoyancy ❖ Different pressure in fluid ❖ Horizontal net force = 0 ❖ Vertical net force = bottom force - top force ❖ F = PA ❖ Pressures: function(density, gravity) ❖ on top surface ❖ on bottom surface Pt = ⇢ght Pb = ⇢ghb
  • 57. Buoyancy ❖ forces ❖ difference ft = PtAt = ⇢ghts2 fb = PbAb = ⇢ghbs2 fb ft = ⇢ghbs2 ⇢ghts2 = ⇢g(hb ht)s2 = ⇢gs3 = ⇢gV (V : volume)
  • 58. Spring force ❖ Hooke’s law ❖ force needed to extend or compress a spring by a distance x is proportional to that distance ❖ f = -k x ❖ k: spring constant ❖ rest length of spring: ❖ current length of spring: ❖ force magnitude: ❖ force direction: obj1 and obj2 are linked and located at x1 and x2. ❖ and |f| = ks(L r) x1 x2 |x1 x2| x1 x2 |x1 x2|
  • 59. Damper ❖ Springs do not oscillate forever ❖ energy dissipation ❖ simple model ❖ damping force fd = kd(v1 v2)
  • 60. Spring and Damper X1 X2 L L f1 = (ks(L r) + kd(v1 v2) · L L ) L L f2 = f1
  • 61. Force and Torque ❖ Force ❖ causes linear acceleration ❖ Torque ❖ causes angular acceleration ❖ Torque: ❖ a vector ❖ magnitude ❖ how quickly the angular velocity is changed ❖ |r x f | ❖ direction ❖ rotational axis = ( r x f ) / |r x f| ⌧ ⌧ = r ⇥ f f r