Procedural Models How to easily generate complex data? Data from parameterized procedure and/or...
-
Upload
godwin-garrett -
Category
Documents
-
view
217 -
download
0
Transcript of Procedural Models How to easily generate complex data? Data from parameterized procedure and/or...
![Page 1: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/1.jpg)
Procedural Models
How to easily generate complex data?
Data from parameterized procedure and/or digitized
Data amplification
Ray trace directly v. convert to polygonal models and use z-buffer
![Page 2: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/2.jpg)
Basic Procedural Approaches
composition from primitive shapes extrusion surface of revolution lofting sweep operator
![Page 3: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/3.jpg)
Composition
Controlled randomness
Procedurally generated
![Page 4: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/4.jpg)
Extrusion
![Page 5: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/5.jpg)
Surface of revolution
![Page 6: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/6.jpg)
Lofting
![Page 7: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/7.jpg)
Sweep Operator
Combines extrusion, lofting, and surface of revolution
![Page 8: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/8.jpg)
More sophisticated approaches
CSG Subdivision surfaces Curves & surfaces Fractals Implicit functions
![Page 9: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/9.jpg)
CSG:constructivesolid geometry
primitive shapes union, difference, intersection tree structure representation Ray trace directly Evaluate to polyhedron with Boolean operators OpenGL rendering using stencil buffer http://www.opengl.org/resources/code/samples/advanced/ advanced97/notes/node11.html
![Page 10: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/10.jpg)
Subdivision surfaces
What is resulting limit surface? What is continuity of limit surface?
Initial coursely defined geometry Refine geometry by rounding corners, subdividing faces and edges, smoothing faces
![Page 11: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/11.jpg)
Subdivision surfaces
Round corners Catmull-Clark Doo-Sabin Loop Butterfly
![Page 12: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/12.jpg)
Catmull-Clark Subdivision
![Page 13: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/13.jpg)
Loop Subdivision
![Page 14: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/14.jpg)
Curved surface patches
Hermite curve & patches Bezier curve & patches Catmull-Rom spline B-spline
![Page 15: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/15.jpg)
Hermite Curve Given: starting and ending points and tangents Determine cubic equation that satisfies constraints
cbuauuP
dcubuauuP
23)('
)(2
23
cbatP
ctP
dcbapP
dpP
231)1('
0)0('
1)1(
0)0(
1
0
1
0
0001
0100
1233
1122
1)( 23
t
t
p
p
uuuUMBuP
![Page 16: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/16.jpg)
Hermite Patch Given: starting and ending points and tangents Determine bicubic equation that satisfies constraints
vuMBMvuP T),(
![Page 17: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/17.jpg)
Fractal geometry Objects that exhibit similarity under scale e.g., Koch curve
Mathematically curious - continuous, infinite length, nowhere differentiable, bounded
![Page 18: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/18.jpg)
Serpinski Gaskets
![Page 19: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/19.jpg)
Other fractal shapes
Mandelbrot set Coastlines Mountains
statistically self-similar under scale
![Page 20: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/20.jpg)
Create mountains
1. Subdivide triangle2. Displace upward3. Reduce amplitude of
displacement4. Recurse on subdivisions
![Page 21: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/21.jpg)
Implicit functions & isosurfaces
f(x,y,z) = 0 “density” function distance-based implicit functions Marching Cubes algorithm
![Page 22: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/22.jpg)
Marching Cubes :convert to polygons
![Page 23: Procedural Models How to easily generate complex data? Data from parameterized procedure and/or digitized Data amplification Ray trace directly v. convert.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bfdc1a28abf838cb11bc/html5/thumbnails/23.jpg)
Implicit functions & isosurfaces