CS 285: SOLID MODELING
Lecture #6 -- Monday, Sept. 19, 2011
PREVIOUS < - -
- - > CS 285 HOME < - -
- - > CURRENT < - -
- - > NEXT
Self-Test
What are the various symmetry families for a 3D object of finite size ?
If an object has a 6-fold rotation axis and no mirror or glide planes, what symmetry families can it possibly belong to ?
If an object has a 5-fold rotation axis and a 3-fold axis, what symmetry families can it possibly belong to ?
What class does a bilaterally symmetrical object (like a mouse) belong to ?
Identify the symmetry classes for the following depicted objects:
What kind of symmetry operations are there in 2D, -- and in 3D, -- and in 4D ?
Brain teaser: -- Why does an ordinary wall mirror reverse left and right, but not up and down ?
Open your eyes to the symmetry of everyday objects...
- What are the symmetries of the objects you encounter in your daily life ?
- How to determine the symmetry group of an object:
Find a maximal-valence rotation axis, make it the z-axis, go to chart 1, look for C2 axes perpendicular to it, also for mirror planes, ...
if you find more than one rotation axis with valence >= 3, go to chart 2; 5-fold axes ==> icosa/dodeca; 4-fold axes at right angles ==> cube/octa, ...
the difficult one (for me) is the oriented double tetrahedron; the 3 mirror planes transform one (right-handed) tetrahedron into the other (left-handed) one.
Visualization of Symmetry Groups Using Shape Generator Programs
7 families of rotational groups based on the 7 friezes wrapped around a cylinder: Cn, Dn, S2n, Dnd, Cnh, Cnv. Dnh.
7 groups of "really 3D" symmetries based on the Platonic and Archimedean solids.
Jane Yen and C. H. Séquin: "Escher Sphere Construction Kit" Presentation at I3D conference (PPT)
From a Graphical Design to a Realizable 3D Solid Part
On the example of Escher tiles:
Just partitioning the sphere surface in a graphical manner is not enough:
- Need to distill out an individual tile;
- Need to give the tile some thickness,
and possibly some relief in the form of a height field; - Need to provide a (possibly simpler) back-surface;
- Need to connect these two surfaces into a coherent B-rep with side walls;
- Also, may have to figure out a coloring pattern for the various tiles.
Representations for Solid Modeling
Many possible concerns -- many possible items on the wish-list:
- What is easiest way for the designer to describe the part:
-- instancing; boolean operations; maintain symmetry; allow controlled space warps, ...
- What is the best way to visualize the result of a designer's input:
-- interactive speed; resolve booleans to screen resolution; rendering enhancements: shadows, depth queues ...
- How can a possible design most easily be analyzed for consistency, volume, weight distribution, srength . . . :
-- need to deal with volumetric information explicitly: tetrahedralization, finite-element meshing, voxelization, ...
- How can the finished design best be transmitted to someone else:
-- description needs to be unambiguous, precise, efficient (compact), easy to parse and process, ... (unlike .STL files).
- What is the best representation for the manufacturing process:
-- primitives relevant to the manufacturing process -- strongly depends on type of process: - Layered manufacturing: Collection of 2D contours or raster maps corresponding to each slice level.
- Machining on a milling machine: Starting shape, plus a
collection of features (pockets, drill holes) that need to be removed.
What are the building blocks for these representations ?
How do we know that we have a viable, consistent SOLID model ?
Design-Level (CAD-Model) Representations
- (Parameterized) Primitives
Cubes, spheres, cylinders, cones, tori, ...
(semi-)regular polyhedra), ...
Look at the
SLIDE Language.
-
CSG -- Constructive Solid Geometry
Combine solids with regularized Boolean operations.
-
B-rep, Boundary Representation
The surface of the solid described as a collection of planar polygons
and/or curved (spline) patches.
Subdivision surfaces ! (example: K3GQ48param.slf)
- Implicit shape description
The inside of a solid is given by an inequality, e.g. sphere: x*x + y*y + z*z <= R*R
-
Voxels
Partially occupied array of solid volume elements (Key issue: efficiency).
- Instancing
--> This is the primary way to enforce symmetry in a design.
Atoms (an extreme example of instancing) for
Nanotech Machines (
Differential Gear,
Motion Controller,
Atom Pump )
Parametrized primitives (CSG), previously defined objects, modular components, ...
- Parameterized objects, "auto-shapes"
2D: drafting symbols: n-gons, stars, "banners", ...
(available in most drawing programs).
3D: gear wheels, "Scherk-Collins Toroids", ...
(often custom-built, not yet readily available).
- Features for manufacturing
Through-holes, sink-holes, pockets, slots, shoulder pockets, ...
(No consistent nomenclature or definitions; can also be parameterized).
- Procedural generation
Spline patches -- defined by their type, control points, ...
Sweeps -- defined by cross section, sweep path, azimuth, twist.
L-systems -- parameterized instantiation based on expression trees.
Wavy surface of the sea, fractal mountains, "growing" plants, ...
- Procedural shape modification
Edge bevelling or rounding.
Subdivision -- procedural smoothing, related to splines.
Offset surfaces -- turn a thin mathematical surface into a thick, physically realizable sheet.
-
Structure of a design
Scene hierarchy (logical/functional), described with a scene graph.
Dynamic grouping during editing; saved intermediate design stages.
Constraints: -- e.g., minimum separation between adjacent holes must be equal to hole diameter (e.g., Pro-E.)
-
The SLIDE Language
combines many of the above representations.
(Many of the statements that have to do with rendering
can be ignored for CS285).
How to convert between these different representations ?
If you could have only ONE of the above paradigms -- which one would you choose ?
Pick your FIVE favorite papers for study and in-class presentation from the listed collection.
(This is your opportunity to influence the contents and focus of this course offering!)
Due: Wednesday, 9/21/2011: 4pm
PREVIOUS < - -
- - > CS 285 HOME < - -
- - > CURRENT < - -
- - > NEXT
Page Editor:
Carlo H. Séquin