1
play

1 Plan for today Approaches to modeling in CG 1st half How does - PDF document

Before we begin Paper summaries for today? Procedural Modeling Announcement Announcement Were looking for a few good programmers! Career Fair ACM Programming Contest Wednesday, September 27th Teams up to 3 people


  1. Before we begin  Paper summaries for today? Procedural Modeling Announcement Announcement  We’re looking for a few good programmers!  Career Fair  ACM Programming Contest  Wednesday, September 27th  Teams up to 3 people  Local Tryouts: Sept 22nd at 5pm (ICL4)  10am -- 4pm  Gordon Field House  Free food will be served  Contact : Paul Tymann (ptt@cs.rit.edu)  By Sept 18th (if interested)  http://www.cs.rit.edu/~icpc  http://www.rit.edu/co-op/careers Logistics Computer Graphics as Virtual Photography  Reminder real camera photo Photographic Photography: scene (captures processing print  Project Proposals due next Monday light) processing  Raytracer Checkpoint 1 due Wednesday. camera Computer 3D synthetic tone model Graphics: models image reproduction (focuses simulated lighting) 1

  2. Plan for today Approaches to modeling in CG  1st half  How does one describe reality?  Procedural Models  Empirical -- Use measured data  Fixed model  2nd Half  Procedural Modeling  Intro to Camera Models  Physical simulation  Heuristic  Questions? Procedural Models Proceduralism in Computer Graphics  Fixed models/primitives not robust enough  Several Heuristic methods  Quest for extensibility and programmability  Fractals  Use a function or procedure to define the  Fractal terrains surface or structure of an object.  L-Systems  Procedural Methods  Volumetric Models  Shading  Hypertexture  Modeling  Animation Why Fractals? Fractals  A language of form for shapes and  Procedural way to add complexity to a scene phenomena common in Nature  Elements of nature posses fractal properties.  “Geometrical complex object, the  Used to model nature complexity of which arises through the  Terrain repetition of form over some range of  Clouds scale”.  Coastlines  Statistical self-similarity at all scales  Trees / Landscaping 2

  3. Fractals Fractals – The Mandelbrot Set Foley/VanDam/Feiner/Hughes  Repetition of some underlying shape (basis function) at different scales  Kock Snowflake Applet  http://www.arcytech.org/java/fractals/koch.shtml Fractals - Mandelbrot Set Fractals  Fractals - Mandelbrot Set  Plot of a recursive mathematical function in the complex plane  http://www.math.utah.edu/~pa/math/man  Z n = Z n-1 2 + C delbrot/mandelbrot.html  For each complex number, the function will:  Fractint  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. Fractal Terrain Fractal Terrain  Fractals -- a simple example  Fractals - a simple example Foley/VanDam/Feiner/Hughes [Fournier82] 3

  4. Fractal Terrain Fractal Terrain  Paul Bourke  Fractals - extend to 2d Foley/VanDam/Feiner/Hughes Fractal Terrain Fractal Terrain Fractal Terrain Fractal Terrain -Vol Libre Ridge  my favorite fractal landscape [F. Kenton Musgrave] Foley/VanDam/Feiner/Hughes 4

  5. Fractals Fractal Modeling  Fractal comes from fractal dimension  Fractal modeling  Like Mandelbrot set, can zoom infinitely a.b  Render at resolution that is most appropriate  Instant anti-aliasing. a = Euclidean dimension b = fraction of filling up next dimension  Can model a whole planet procedurally Fractal Modeling Fractal Modeling  http://www.pandromeda.com  Explore fractal worlds on-line F.K. Musgrave  Mojo World [Musgrave] 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 5

  6. 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  F=F[+F]F[-F]F structures:  Applet  F move forward and draw  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 L-Systems - Trees 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 6

  7. Volumetric Models Hypertexture [Perlin89]  Not all objects are “solid” models  Extension of procedural textures  Between surface + texture, i.e., spatial  water filling/volumetric  fire  Objects modeled as distribution of density  clouds  hard region - objects completely solid  Rain  soft region - object shape is malleable using a  Objects exists in a volume toolkit of shaping functions and CSG style operators to combine shapes  Hypertexture Hypertexture Hypertexture  Toolbox of base DMFs  D(x) - Object Density Function over R 3  Bias – up / down control  D ( x ) for all points x in 3D space [0,1]  Gain – controls gradiant  Density of 3D shape  Noise (controlled randomness)  D ( x ) = 0 for all points outside the surface  Won Ken an Academy Award!  D ( x ) = 1 for hard region of the object  Turbulence  0 < D ( x ) < 1 for soft region of the object  Sum of noise at variety of frequencies (fuzzy region)  Mathematical functions Hypertexture Noise Examples Hypertexture Example - Fire Red = low density Yellow = high Noisy 2* frequency, 1/2 amplitude [Perlin89] D ( x ) = sphere(x ( 1 + turbulence ( x ))) [Perlin89] High Amplitude, Noisy Sphere Fractal, noise - Σ many f’s 7

  8. Hypertexture Example - Fur/Hair Animated Examples Here noise displaces x before projecting; http://www.kenmusgrave.com/animations.html uses variable to control curliness [Perlin89] Tribble Procedural Models  Summary  Use of a function to define objects  Types  Fractals/L-Systems  Volumetric Models  Hypertexture  Good for  Natural objects  Landscapes  Non-solid type objects  Break. 8

Recommend


More recommend