digital media lecture 8: vector graphics 3d georgia gwinnett college school of science and...
TRANSCRIPT
Digital Media
Lecture 8: Vector Graphics 3D
Georgia Gwinnett CollegeSchool of Science and Technology
Dr. Jim Rowan
Refer to Supplemental text:
3D
X & Y like 2D graphics Z is Height (or depth)
3D
3D shapes (objects) are defined by their surfaces
Complicated because a 3D object (inside the computer) must be translated into 2D to be viewed…
And you need to: – specify the viewpoint, a camera– specify the lighting
3D
Specifying the camera and the lighting has one huge advantage over 2D– Automatically generates all of shadows
BUT… rendering (converting 3D to 2D) is extremely computationally expensive (demanding, time consuming)– It can be slow!
3D
Lighting has different characteristics and must be specified– natural or artificial– spot or flood– color– multiple sources– reflections off other objects in the scene
Atmosphere must be intentionally included
Surface texture must be specified
Issues of focus/atmosphereExamples from Sintel
Sintel Example
Managing Complexity
Structural hierarchy
Things in the real world are compositions of smaller things
Things in the 3-D graphics world are also compositions of smaller things
Hierarchical structure is an excellent way of coping with complexity
Also seen in object-oriented programming like Java and Squeak!
3D Models
So…
How do you build a model inside a computer when you can’t touch it?
Constructive Solid Geometry Free Form: Bezier Surfaces Free Form: Extrusion Procedural modeling
3D models
Constructive solid geometry– building things from known shapes– uses geometric solids: cube, cylinder,
sphere and pyramid– objects build by squishing and
stretching those objects– objects joined using union,
intersection and difference
Intersection
Difference
Union or just two objects?
Free Form
Building things one side at a time Uses an object’s surface (it’s boundary with
the world) to define it Build surfaces from flat polygons or curved
patches– flat polygons are easier to render and therefore
frequently used in games where computational power is limited
Results in an object drawn as a “mesh” Can be done using Bezier surface patch but
they have 16 control points! More tractable (do-able) patch uses a surface
called a non-rational B-spline
Free Form: Extrusion
Building things using a play-doh factory
Move a 2 dimensional shape through space along a line
The line can be straight or curved
Procedural modeling
Best known is based on Fractals– Fractals– exhibit the same structure at all levels of
detail aka “self similar”– used to model natural objects
Particle systems... many particles, few controls– Fur, hair, grass…
Physics... distribution of mass, elasticity, optical properties, laws of motion
3D Rendering
Rendering engine handles the complexity
Wire frames are used to preview objects and their position– can’t tell which surface is closer to us and
which surface is hidden To save computation time, hidden
surfaces are removed before rendering– Why render what can’t be seen?
3D rendering
Lighting– Added to scene much like an object– spot light, point source, floodlight...– position and intensity
Direct relationship between rendering quality and computational burden(render time)
Render time video illustration
http://www.youtube.com/watch?v=jtWPW8yJtgM&feature=channel_video_title