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”. • 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 function) – Coastlines 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] Fractal Modeling Grammar Based Systems • http://www.pandromeda.com • Building of models based on formal language – Explore fractal worlds on-line grammars • Method for creating fractals • Grammar consists of: – Set of characters – Productions rules – Mojo World F.K. Musgrave – Starting word Grammar Based Systems - Example Grammar Based Systems • But how does this help us create models? • Assign a drawing action to each character: Characters: {A, B,[, ]} Iterations: • L-System (Lindenmeyer) used to create tree-like Rules: A -> AA 0: B structures: B->A[B]AA[B] 1: A[B]AA[B] – F move forward and draw Start word B – f move forward and do not draw 2: AA[A[B]AA[B]]AAAA[A[B]AA[B]] – + increase angle with angle increment – - decrease angle by angle increment – [ push state (i.e. branch) – ] pop state (i.e finish branch) 4 L-System Ferns Grammar Based Systems •L-Systems – F=F[+F]F[-F]F – Applet • http://www-sfb288.math.tu- berlin.de/vgp/javaview/vgp/tuto r/lsystem/PaLSystem.html L-System Trees L-Systems - Trees Foley/VanDam/Feiner/Hughes Foley/VanDam/Feiner/Hughes Volumetric Models Grammar-Based Systems • Not all objects are “solid” models • For more info: – water – Prusinkiewicz, Lindenmayer systems, fractals, and –fire plants – clouds – Prusinkiewicz and Lindenmeyer, The Algoritmic –Rain Beauty of Plants • Objects exists in a volume – Hypertexture • Questions? 5 Hypertexture [Perlin89] Hypertexture • Extension of procedural textures • D(x) - Object Density Function over R3 • Between surface + texture, i.e., spatial –D (x) for all points x in 3D space [0,1] filling/volumetric – Density of 3D shape • Objects modeled as distribution of density –D (x) = 0 for all points outside the surface – hard region - objects completely solid –D (x) = 1 for hard region of the object – soft region - object shape is malleable using a –0 < D (x) < 1 for soft region of the object toolkit of shaping functions and CSG style (fuzzy region) operators to combine shapes 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 6 Animated Examples Procedural Models •Summary – Use of a function to define objects –Types http://www.kenmusgrave.com/animations.html • Fractals/L-Systems • Volumetric Models –Hypertexture – Good for • Natural objects • Landscapes • Non-solid type objects 7.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 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