Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung |
Spline surfaces
Spline patch (very general form: NURBS patch) (demo in Cinema 4D and in Maya)
Trim curves to create non-quadrangular shapes
Used in computer-aided engineering (cars, planes, machines, ...)
Problem: How to stitch patches together without holes or creases?
Subdivision surfaces
Start with a polyhedron and apply a smoothing subdivision method an adjustable number of times
There are lots of different subdivision algorithms, including interpolating as well as approximation ones. The standard subdivision algorithms use specifically picked numbers in the computation which let the result converge to a smooth “limit surface”, apart from “exceptional points”. All major software supports some variant of the subdivision method introduced by Catmull and Clark, which is one of the two oldest subdivision methods.
Advantadges: only polygons for modeling and rendering; no problems with stitching (actually, only not so obvious problems); adjustable number of polygons. Subdivision surfaces are the standard choice in character animation and game production.
Some 3D software provides options to create pointed vertices and creases along edges.
The terms used for subdivision surfaces in 3D software such as HyperNurbs or NURMS are misleading. However, one can prove mathematically for many types of subdivision algorithms that their limit surfaces could precisely be formed from spline surfaces---however, only with a most complex stiching.
Implicit surfaces (also known as isosurfaces or as equipotential surfaces)
Don't define a surface explicitly as a mapping (u,v) |---> x(u,v), but implicitly as the set of all x such that f(x) = 0 for a given function f. For instance, f(x) := |x|2-4 will produce a sphere (that is, the bare surface, not the ball including the interior) of radius 2 around the origin.
Standard use: metaballs (demo with Cinema 4D)
Voxels
Build 3D objects as solids using small cubical volume elements ("voxels")
Very memory-intensive if applied without precautions
Often used for “volumetric” rendering, for instance semitransparent clouds or fire balls with inner structure
Demo with Cinema 4D: clouds, flames (which are not exactly voxel-based, but could be implemented like that).
Points
Basic idea: We have several millions of pixels on the screen. Why throw millions of polygons at them? Store, edit, and render point clouds instead: “point-based rendering”
Demo: Pointshop3D