1 Procedural Models Fractals Why Fractals?

1 Procedural Models Fractals Why Fractals?

Proceduralism in Computer Graphics Fixed models/primitives not robust enough Procedural Modeling Quest for extensibility and programmability Use a function or procedure to define the surface or structure of an object. Procedural Methods Shading Modeling Animation Procedural Models Fractals Topics A language of form for shapes and Fractals phenomena common in Nature Fractal terrains “Geometrical complex object, the L-Systems complexity of which arises through the Volumetric Models repetition of form over some range of Hypertexture scale”. Particle Systems Statistical self-similarity at all scales Why Fractals? Fractals Procedural way to add complexity to a scene Elements of nature posses fractal properties. Used to model nature Terrain Foley/VanDam/Feiner/Hughes Clouds Repetition of some underlying shape (basis Coastlines function) at different scales Trees / Landscaping Kock Snowflake Applet http://www.arcytech.org/java/fractals/koch.shtml 1 Fractals – The Mandelbrot Set Fractals - Mandelbrot Set Plot of a recursive mathematical function in the complex plane 2 Zn = Zn-1 + C For each complex number, the function will: Move quickly to infinity (outside of the set) Move slowly to infinity (on the border of the set) Remain near the origin (inside the set) Create image by coloring based on how many iterations it takes to indicate divergence towards infinity. Function is self-similar as we zoom into different areas of the plot on the complex plane. Fractals Fractal Terrain Fractals - Mandelbrot Set Fractals -- a simple example Fractint Foley/VanDam/Feiner/Hughes Fractal Terrain Fractal Terrain Fractals - a simple example Fractals - extend to 2d [Fournier82] Foley/VanDam/Feiner/Hughes 2 Fractal Terrain Fractal Terrain Paul Bourke Fractal Terrain Fractal Terrain -Vol Libre Ridge Foley/VanDam/Feiner/Hughes Fractal Terrain Fractals my favorite fractal landscape Fractal comes from fractal dimension a.b a = Euclidean dimension b = fraction of filling up next dimension [F. Kenton Musgrave] 3 Fractal Modeling Fractal Modeling Fractal modeling Like Mandelbrot set, can zoom infinitely Render at resolution that is most appropriate Instant anti-aliasing. Can model a whole planet procedurally [Musgrave] Fractals Gaea Zoom “If one assumes that a certain error (e.g., pixel-sized) in the ray-surface intersection is acceptable, one can directly ray-trace a procedurally-defined height field with essentially perfect level of detail.” -- Ken Musgrave [Musgrave] Fractal Modeling Fractals http://www.pandromeda.com For more info: Explore fractal worlds on-line [Fournier82] Pietgen, The Science of Fractal Images Pietgen, The Beauty of Fractals Ebert, et al, Modeling & Texturing... F.K. Musgrave Mojo World 4 Grammar Based Systems Grammar Based Systems - Example Building of models based on formal language grammars Characters: {A, B,[, ]} Iterations: Method for creating fractals Rules: A -> AA 0: B B->A[B]AA[B] Grammar consists of: 1: A[B]AA[B] Start word B Set of characters 2: AA[A[B]AA[B]]AAAA[A[B]AA[B]] Productions rules Starting word Grammar Based Systems Grammar Based Systems But how does this help us create models? Assign a drawing action to each character: L-Systems L-System (Lindenmeyer) used to create tree-like structures: F=F[+F]F[-F]F F move forward and draw Applet http://www-sfb288.math.tu- f move forward and do not draw berlin.de/vgp/javaview/vgp/tutor/l + increase angle with angle increment system/PaLSystem.html - decrease angle by angle increment [ push state (i.e. branch) ] pop state (i.e finish branch) L-System Ferns Grammar Based Systems L-Systems Note that structures created using L- Systems are fractal like in the sense that they are self-similar at different levels Self-similarity achieved by repeatedly applying production rules 5 Grammar Based Systems L-Systems - Koch curve as an L-system Trees F=F+F- -F+F http://www.arcytech.org/java/fractals/lsystems .shtml Foley/VanDam/Feiner/Hughes Foley/VanDam/Feiner/Hughes L-System Trees Grammar-Based Systems For more info: Prusinkiewicz, Lindenmayer systems, fractals, and plants Prusinkiewicz and Lindenmeyer, The Algoritmic Beauty of Plants Questions? Foley/VanDam/Feiner/Hughes Volumetric Models Hypertexture [Perlin89] Not all objects are “solid” models Extension of procedural textures water Between surface + texture, i.e., spatial fire filling/volumetric clouds Objects modeled as distribution of density Rain hard region - objects completely solid Objects exists in a volume soft region - object shape is malleable using a toolkit of shaping functions and CSG style Hypertexture operators to combine shapes Particle Systems 6 Hypertexture Uses Hypertexture 3 Model shapes that don’t have a well- D(x) - Object Density Function over R defined boundary surface D (x) for all points x in 3D space [0,1] Fur/hair Density of 3D shape Fire/clouds/smoke D (x) = 0 for all points outside the surface Complex surface volumetics D (x) = 1 for hard region of the object Fluid flow 0 < D (x) < 1 for soft region of the object (fuzzy region) Erosion effects Hypertexture Hypertexture Noise Examples Toolbox of base DMFs Bias – up / down control Gain – controls gradiant Noise (controlled randomness) Won Ken an Academy Award! Noisy 2* frequency, 1/2 amplitude Turbulence Sum of noise at variety of frequencies Mathematical functions [Perlin89] High Amplitude, Noisy Sphere Fractal, noise - Σ many f’s Hypertexture Example - Fire Hypertexture Example - Fur/Hair Here noise displaces x before projecting; Red = low density uses variable to control Yellow = high curliness [Perlin89] D(x) = sphere(x(1+ turbulence(x))) [Perlin89] Tribble 7 Animated Hypertexture – Pyroclastic Animated Hypertexture – Fireball1 [Musgrave] [Musgrave] Animated Hypertexture – Cloud Dog Hypertexture Further Reading [Perlin89] Ebert, et. al,Texturing & Modeling: A Procedural Approach. [Musgrave] Particle Systems [Reeves83] What are Particle Systems? A collection of geometric particles Another volumetric modeling technique Abstraction provides control of animation and Algorithms governing creation, specification of objects movement and death Good for modeling volumetric natural phenomena: water Attributes fire clouds AND, randomness … can be applied to Rain any of the above! Snow Grass Trees 8 Attributes of Particles Particle Systems • Initial Position The first example of particle systems • Movement (velocity, rotation, acceleration, etc.) was in the movie Star Trek II: The • Color and Transparency •Shape Wrath of Khan •Volume Particle systems were used to represent •Density a wall of fire. •Mass • Lifetime (for particles) Particle Systems - The Wrath Of Kahn Particle Systems - The Wrath Of Kahn [Reeves 83] [Reeves 83] Why use Particle Systems? Application of Particle Systems Excellent way to model complex natural objects. Allow us to model detailed man-made objects. Provides a solution to fuzzy object modeling problem. 9 Particle Systems - Fireworks Particle Systems - Plants: White Sand [Reeves 83] [Reeves 83] Andreason & Andreason & Zucca, Zucca, CG2 -19962 CG2 -19962 Comet Fire and Smoke Andreason & Andreason & Zucca, Zucca, CG2 -19962 CG2 -19962 Water Death Star 10 Procedural Models Summary Use of a function to define objects Types Fractals/L-Systems Volumetric Models Hypertexture Particle Systems Good for Natural objects Landscapes Non-solid type objects 11.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us