Cellular Texture - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Cellular Texture

Description:

It requires a representation with more detail then ... Maintain unit quaternion ... that the quaternion does not stay too far from a unit quaternion during the ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 32
Provided by: era77
Category:

less

Transcript and Presenter's Notes

Title: Cellular Texture


1
Cellular Texture Generation
2
We are interested in making images of surfaces
covered with interacting geometry elements such
as
  • Scales
  • Feathers
  • Thorns

3
  • There are a few challenges in making images of
    these type
  • It requires a representation with more detail
    then texture-mapping
  • but are inconvenient to model with
    hand-crafted geometry.
  • It is often difficult to map appropriate texture
  • coordinates onto the global geometry and
    topology .
  • The placement, orientation, coloration, and shape
    of
  • the individual elements may depend on
  • - neighboring elements
  • - surface characteristics such as local
    curvature .
  • - global phenomena such as sunlight .

4
Key Words particle system , developmental
models , data
amplification , constraints ,
texture mapping , bump mapping ,
displacement mapping . Cellular
textures are modeled by using small 3d
cells constrained to lie on a surface . The cells
interact to form cellular textures surface
textures with 3d geometry , orientation and color
. This approach combines properties of particle
systems , developmental models,and reaction
diffusion methods into one system .
5
Development Approach For generating organic
patterns it is natural to consider a
biologicalbased simulation . biological
development model is used to simulate and study
patterns generated by the motions and interaction
of discrete cells.
6
These artificial cells can move about , grow ,
and divide in a simulated petri dish which is
called extracellular environment . The ability to
form a variety of interesting patterns with
the system is the reason for exploring its
application to geometric texture generation . The
textures modeled, are formed from many
interacting geometric elements . Scales feathers
or thorns can be created from a single cell ,
or multiple cells .
7
There are three main software modules
  • Cellular particle simulator with surface
    constraints
  • Automatically grow cellular textures by
    simulating
  • discrete cells on surfaces . Computes location ,
  • orientations , sizes and other parameters of
    cells
  • based on behavioral specification.
  • Parameterized particle to geometry
  • Converts cell position , orientations and other
  • parameters into shape and appearance parameters.
  • Render
  • renders the scene .

8
Cellular Particle Simulator
  • Allows the user to specify cell behaviors such as
    go to surface and align with neighbors by
    combining modular cell programs, which are
    first-order differential equation terms that
    modify the cells state .
  • For a particular simulation the user defines
  • the cell state variables .
  • the extracellular environment .
  • the cell programs.
  • initial placements and other initial conditions.
  • The user can also stop the simulation ,
  • change the cell programs and , restart it with
    the new
  • modifications .

9
Definitions
A cell is an entity that has position,
orientation, shape, and other parameters. It is a
generalization of a particle in a particle system
. Cell state variable S ( p , q , r , Sdie ,
Ssplit , Sc0 , Sc1 , Sc2 , , Sa0 ,
Sa1 , Sa2 , ) p - position . q - orientation
. r - size . Sdie - if exceeds a
threshold ?die , the cell will die. Ssplit - if
exceeds a threshold ?split , the cell will split
. Sci - concentrations of chemicals within
the cell . Sa0 - concentrations of chemicals
in the cell membrane .
10
Extracellular Environment
Parameters which describe everything the cell can
sense from its current position . ? (?a0 , ?a1
, ?a2 , , ?p0 , ??p0 , ?p1 , ??p1 , ,
?v0 , ?v1 , , ?wx , ?wy , ?wz ,
?u0 , ?u1 , ) ?ai represent the amounts of
membrane chemicals that are bound to
membrane chemicals on neighboring cells. ?pi ,
??pi represents value and gradient of potential
field. ?vi , ?ui other scalar and vector fields
. ?wi this vector describes the rotation that
would align this cells ei axis with the
average orientation of the adjacent
cells. Example

1 exb exc ?wx
? cos-1(exb exc)
n exb exc
b the cell c its neighbors
c? neighbors
11
Cell programs
Each cell has several cell programs , which are
first order equations describing how its state
changes over time. A cell program is a function
of the cells current state S and its environment
as expressed by ? . Different types of cells use
different cell programs or different combination
of the same cell program to define their
behaviors . The entire system of differential
equations to be solved is obtained by superposing
ordinary differential equations from the cell
program for every cell .
12
Examples of cells programs
Go to a surface Implements a constraint to
keep a cell on the implicit surface f(x) 0
. As the the simulation runs a cell with this
program will descend the gradient and come to
rest on the surface. The parameter k determines
the speed with which the particle approaches the
surface.
P' -k f(p)?f(p)
Die if too far from surface Will cause Sdie
to rise towards the threshold quickly if the cell
is greater than a certain distance d from the
surface.
1 S'die f(p)?die - sdie
d
13
Align with a vector field In this example
the cells y-axis , ey , is aligned with a given
vector field v(x) , Which is evaluated at the
cells current location , p .
ey v(p)
v(p) wv k cos-1(ey
) ey v(p)
v(p)
q' (1/2)wvq
Align with neighbors The three orientation
constraints on the cells x y and z axes
fully constrain its orientation . Constraining
two axes would be sufficient in most cases .
q' (1/2)?wiq
14
Maintain unit quaternion Add a constraint to
ensure that the quaternion does not stay too far
from a unit quaternion during the integration of
differential equations .
q' 4k(1 q q)q
Adhere to other cells Causes the variable sa2
(representing the surface chemical a2)
to approach and stay at the value 1.0 . A pair
of cells expressing a2 will stick together once
they come in contact , and force is required to
pull them apart .
S'a2 1.0 sa2
15
Divide until surface is covered Divide until
the amount of bound surface chemical a2 reaches
the level ? . ?a2 reports the total amount bound
from all cells that are in contact , which gives
the cell a means of determining how many
neighbors it has . The value of ? will near one
for (b gtgt a) and near zero for (a ltlt b).
Ssplit ? (? , ?a2) ?split - ssplit
? (a , b) ? (tanh((b-a) 1)/2
Set size relative to surface feature
size Relates the cell size to the sizes of
features in the polygon database . Achieved by
providing the cells with a value ?u0 that
represents the area of the nearest triangle .
Could also be used to capture surface curvature .
r' ?u0 - r
16
Example of reaction-diffusion in discrete cells
The full derivation of this set of equations is
beyond the scope of this presentation .
Sc0 is the activator and sa1 is the inhibitor ,
which is propagated by the activity of membrane
chemicals .
2
2 s'c0 -20?a0 / ?a2 10sc0/(1 sc0 )
0.5 sc0 13
Defines a generic switch that tends to drive sc0
towards one of two values , depending on the
influence of the term ?a0 / ?a2 .
s'a1 0.95?a0 / ?a2
Determine interactions of membrane chemicals that
lead to an effective diffusion of the value of
sa1 among the cells .the value sc0 can then be
used to determine the final rendered shape of the
cell .

s'a1 ? (3, sc0)sc0
s'a0 5 sa0
s'a1 -sa1
s'a2 1 sa2
17
(No Transcript)
18
Surface constraints
  • There are several types of surface classes
  • polygonal mesh surfaces .
  • Implicit function surfaces .
  • isosurfaces of volume data surfaces.

The surface constraint cell program, evaluates an
implicit function to enable the cell to find and
stay on the surface. Because the surface could be
a mesh, a rough approximation to an implicit
function is created for these meshes . Any
implicitization method will work , and in fact it
doesnt have to be very exact . We implement this
function by constructing an approximate kd-tree
for the triangular mesh .
19
Particle converter
  • Converts information about the particles and
    their
  • environment into geometry and appearance
    parameters for
  • rendering .
  • It enables us to do a variety of useful
    operations
  • Choosing an appropriate
  • representation for each cell
  • based on its screen size .
  • as you can see in the picture
  • the thorny spheres at further
  • distance are rendered with
  • fewer polygons.

20
2. smoothly changing the appearance of a cell
based on continuously varying parameters.
21
3. using the cell position to generate spatial
subdivision . 4. using the cell orientation to
compute a flow on the surface . 5.
experimenting with various colorations and
geometries using the same simulation dataset
.
22
Results
23
  • Scales
  • cell program used
  • Divide until the surface is covered
  • Stay on the surface
  • Die if pushed to far from the surface.
  • Soft constraint to align y-axes with the gradient
    of the
  • surface implicit function
  • Align there x and z axes with their neighbors .

24
A knotty problem
Capable of creating textures for surfaces with
unusual topologies.
25
Thorny head ( the first pic )
Main point - Changing cell size to match surface
features . If you look closely you can see there
is a finer texture and geometry around the eyes
and mouth . The cell size is related to the
detail level in the underlying polygonal model.
Thorny spheres
  • Several important capabilities
  • the creation of a simple reaction-diffusion
    patterns on a
  • surface .
  • the use of the concentrations of cell chemicals
    to change
  • parameters of the rendered geometry .
  • the ability to restart simulations from an
    previous state with
  • new cell programs , causing new behaviors to
    occur .

26
A bear of a surface
  • A fur-covered model of a bear defined as an
    isosurface of
  • sampled volume data .
  • The bear on the left , started from a single
    cell and used a
  • set of rules similar to the rules used in the
    scales picture .
  • The bear on the right started from about 2000
    cells ,
  • each cell choused one neighbor to align with ,
    and cells
  • didnt try to align with neighbors that were
    oriented in the
  • directly opposing direction .

27
conclusion
The combination of particle system constraint
techniques with developmental models enables the
generation of a variety of cellular textures as
shown in the figures . Some difficulties Shapes
the particle converter might make objects with
undesirable intersections .
This can be minimized by a careful choice
of cell geometry .
A more robust solution is to use the desired
geometric shape directly in the
cellular particle simulation .
28
Experience with writing cell programs
Writing cell programs can be difficult,
it Requires a Different
intuition than other types of programming ,
and often takes a while to get right
.
(gets easier with practice) .
Simulation speed Can be
very slow (many hours) for some kinds
of cell programs , or very fast (a few
seconds) for others.
Generally , performance degrades as the
differential equations get stiff .
Data explosion The data
produced both by the simulation and by
the particle converter can get very large
.
29
  • Future work
  • continue extending and refining the cell
    programs to generate
  • more complex cellular textures .
  • running simulations on objects as they move and
    change shape .
  • modeling the motion of feathers on the wings of
    a flying bird .
  • implementing more sophisticated cell geometries
    in the particle
  • simulator in order to generate more realistic
    placement of detail
  • and avoid self-intersections in the rendering .
  • explore the possibilities of creating shapes
    directly from the
  • fundamental interactions of the cells , without
    the surface
  • constraint .

30
  • Bibliography
  • Computer Graphics Proceedings , Annual Conference
  • Series 1995

31
The End
Write a Comment
User Comments (0)
About PowerShow.com