Transcript Document

Intro to Simulation and
Virtual Reality
CE00166-1
Animation v Simulation
Week 3
What is simulation?



Simulation is Designing, Implementing, Running, and Using
either Models or Software to represent systems
Simulation is Used
 To gain insights into the system
 To predict what a system will do
 For Education and Training
 When it is “better” than using the system
Some Examples
 Flight and Traffic simulators
 Simulation of Slow Processes or New Designs
 Simulations to drive Animations
 Monte Carlo Simulation
Monte Carlo simulation


How did Monte Carlo simulation get its name?
Monte Carlo simulation was named for Monte Carlo, Monaco,
where the primary attractions are casinos containing games of
chance. Games of chance such as roulette wheels, dice, and slot
machines, exhibit random behaviour.
The random behaviour in games of chance is similar to how
Monte Carlo simulation selects variable values at random to
simulate a model. When you roll a die, you know that either a 1,
2, 3, 4, 5, or 6 will come up, but you don't know which for any
particular roll. It's the same with the variables that have a known
range of values but an uncertain value for any particular time or
event (e.g. interest rates, staffing needs, stock prices, inventory,
phone calls per minute).
Technical Attractions of
Simulation







Ability to compress time, expand time
Ability to control sources of variation
Avoids errors in measurement
Ability to stop and review
Ability to restore system state
Facilitates replication
Modeler can control level of detail
Ways To Study A System
Introduction

What is discrete-event simulation?





Modeling, simulating, and analyzing systems
Computational and mathematical techniques
Model: construct a conceptual framework that
describes a system
Simulate: perform experiments using computer
implementation of the model
Analyze: draw conclusions from output that assist in
decision making process
Characterizing a Model

Deterministic or Stochastic



Static or Dynamic


Does the model contain stochastic components?
Randomness is easy to add to a DES
Is time a significant variable?
Continuous or Discrete



Does the system state evolve continuously or only at
discrete points in time?
Continuous: classical mechanics
Discrete: queuing, inventory, machine shop models
Definitions

Discrete-Event Simulation Model




Stochastic: some state variables are random
Dynamic: time evolution is important
Discrete-Event: significant changes occur at
discrete time instances
Monte Carlo Simulation Model


Stochastic
Static: time evolution is not important
Model Taxonomy
DES Model Development
Algorithm 1.1 — How to develop a model:
1)
2)
3)
4)
5)
6)
Determine the goals and objectives
Build a conceptual model
Convert into a specification model
Convert into a computational model
Verify
Validate
Typically an iterative process
Three Model Levels

Conceptual




Specification




Very high level
How comprehensive should the model be?
What are the state variables, which are dynamic, and
which are important?
On paper
May involve equations, pseudocode, etc.
How will the model receive input?
Computational


A computer program
General-purpose PL or simulation language?
Verification vs. Validation

Verification



Validation




Computational model should be consistent with
specification model
Did we build the model right?
Computational model should be consistent with the
system being analyzed
Did we build the right model?
Can an expert distinguish simulation output from
system output?
Interactive graphics can prove valuable
A Machine Shop Model

150 identical machines:





Service technician(s):



Operate continuously, 8 hr/day, 250 days/yr
Operate independently
Repaired in the order of failure
Income: £20/hr of operation
2-year contract at £52,000/yr
Each works 230 8-hr days/yr
How many service technicians should be hired?
System Diagram
Algorithm Applied
1)
Goals and Objectives:
—
—
2)
Conceptual Model:
—
—
—
3)
Find number of technicians for max profit
Extremes: one techie, one techie per machine
State of each machine (failed, operational)
State of each techie (busy, idle)
Provides a high-level description of the system at
any time
Specification Model:
—
—
—
What is known about time between failures?
What is the distribution of the repair times?
How will time evolution be simulated?
Algorithm Applied
4)
Computational Model:
—
—
—
5)
Verify:
—
—
6)
Simulation clock data structure
Queue of failed machines
Queue of available techies
Software engineering activity
Usually done via extensive testing
Validate:
—
—
—
Is the computational model a good approximation of
the actual machine shop?
If operational, compare against the real thing
Otherwise, use consistency checks
Graphics = algorithms for visual
simulation
What would we have to
model/simulate ?











models of shape -- need to be deformable [skeleton, skin]
lighting (shadows)
physical motion
light bending by lenses (refraction)
surface texture
controlling/specifying motion
perspective
depth of field
camera model / camera control
sound effects & music
story
Physics Simulation




Particles
Rigid bodies
 Collisions, contact, stacking,
rolling, sliding
Articulated bodies
 Hinges, constraints
Deformable bodies (solid
mechanics)
 Elasticity, plasticity, viscosity
 Fracture
 Cloth



Fluid dynamics
 Fluid flow (liquids & gasses)
 Combustion (fire, smoke,
explosions…)
 Phase changes (melting,
freezing, boiling…)
Vehicle dynamics
 Cars, boats, airplanes,
helicopters, motorcycles…
Character dynamics
 Body motion, skin & muscle,
hair, clothing
Computer Animation

What is Animation?


Make objects change over time
according to scripted actions
What is Simulation?

Predict how objects change
over time according to physical
laws or behavioral analysis
Principle of Traditional
Animation – Disney –











Squash and Stretch
Slow In and Out
Anticipation
Exaggeration
Follow Through and Overlapping Action
Timing
Staging
Straight Ahead Action and Pose-to-Pose Action
Arcs
Secondary Action
Appeal
Squash and Stretch
Slow In and Out
Anticipation
Principle of Traditional
Animation – Disney –











Squash and Stretch
Slow In and Out
Anticipation
Exaggeration
Follow Through and Overlapping Action
Timing
Staging
Straight Ahead Action and Pose-to-Pose Action
Arcs
Secondary Action
Appeal
Computer Animation

Animation Pipeline





3D modeling
Motion specification
Motion simulation
Shading, lighting, & rendering
Postprocessing
Keyframe Animation

Define Character Poses at Specific Time
Steps Called “Keyframes”
Keyframe Animation

Interpolate Variables Describing
Keyframes to Determine Poses for
Character in between
Inbetweening

Linear Interpolation

Usually not enough continuity
Inbetweening

Spline Interpolation

Maybe good enough
Inbetweening

Cubic Spline Interpolation

Maybe good enough

May not follow physical laws !!
Summary




Simulation is…
Animation is…
Graphics is a simulation
Animation Requires ...






Modeling
Scripting
Inbetweening
Lighting, shading
Rendering
Image processing