Upload
dothien
View
229
Download
2
Embed Size (px)
Citation preview
12/12/2014
2
3D Solid Textures
Combining textures with objects that change
shape can be problematic
To ‘fix’ texture in space, can create a volume
representation of the texture through space
This requires a procedural or function-based
description of the the texture (rather than an image)
Examples: Wood, Marble, Swiss Cheese
12/12/2014
3
Procedural Modeling
Rule-based systems
An algorithm takes the inputs and
produces the complex output (in this
case a set of polygons)
Procedural animation differs only in that
the model changes/evolves over time.
Procedural Modeling
Many types of procedural models:
Modeling with noise
Grammar-based models
Fractal models
12/12/2014
4
Modeling with noise
Solid 3D texture
Modeling with noise
What is noise?
Perlin (1985) says:
A 'random' function that has statistical
properties perceived by the human
visual system to include 'appropriate'
detail at a variety of scales.
12/12/2014
5
Modeling with noise
In 3D modeling, noise should be:
Invariant under rotation and translation
Limited frequency bandwidth (no
features larger or smaller than a
narrow size range)
Modeling with noise
Example: modeling waves
Noise perturbs normals to give the
look of waves:
normal(x,y) = f(noise(x,y), cycloid(x,y))
12/12/2014
6
Modeling with noise
What is a cycloid?
Path of point on a rolling surface
Results in 'rolling' ocean waves
12/12/2014
7
Texture Synthesis
min. error boundary
Image Quilting
vertical boundary
_ =
2
overlap error
12/12/2014
8
Input texture
B1 B2
Random placement
of blocks
block
B1 B2
Neighboring blocks
constrained by overlap
B1 B2
Minimal error
boundary cut
Texture Synthesis on Shapes
12/12/2014
9
Texture Synthesis on Shapes
Grammar Based Models
Modeling and animating structures using rule
based grammars
Most popular for use in plant and eco-system
modeling
L-grammars or L-systems mimic some visual
aspects of plant development
12/12/2014
10
L-Systems
What is an L-system? Set of rules for updating
a given string.
Rule 1: A -> AA
Rule 2: B -> A B AA B
Starting with string B, 2 iterations yield:
A B AA B AA (A B AA B) AA AA (A B AA B)
L-Systems
Interpreted graphically:
B
AB
B
B B
B
A
A A
AA
AA
AA
AA
A AA
12/12/2014
11
L-Systems
A second, symmetric example
Production Rules &
Initial string: A
A -> F[+A][-A]FA
F -> FF
Drawing requires parameters
like: line length, included
angle (+,-), color, etc.
L-Systems
Complex example
Production Rules
Initial string: F
F -> FF-[-F+F+F]
+[+F-F-F]
12/12/2014
12
L-Systems – results
L-Systems – results
Complicated ecosystems can be built from sets
of l-systems and stochastic placement
12/12/2014
17
Fractals – self-repeating mathematical constructs
Chaos theory
Leads to complex
models
Also used for
organic structures
Fractals – what are they?
Self similar in repeated resolution
Example, the Koch snowflake:
Built with rules, like L-grammars
12/12/2014
18
Fractals – the Julia set
Taking the rule: x -> x2 + c , where c = a + bi
For some x, the update rule leads to infinity,
others go to zero, others do neither.
Result depends on value of x0 (and c)
Graphically, the plot of the result on the complex
plane yields the popular images...
Fractals – the Julia set
12/12/2014
19
Fractals – the Julia set
Values of c change the
structure of which
values of x go to infinity,
zero or other
Generating closed and open
Julia sets
Plotting the values of c that
yield closed sets reveals the
mandlebrot set
Fractals – the Julia set -> the Mandlebrot set