ndist 2012 shape representation carlo h. séquin university of california, berkeley

98
NDIST 2012 NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Upload: june-booth

Post on 29-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

NDIST 2012NDIST 2012

Shape Representation

Carlo H. Séquin

University of California, Berkeley

Page 2: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Focus of TalkFocus of Talk

Shape representation issuesat the start and conclusion

of designing RP models

Focus on HCI difficulties and CAD problems,at the start and end of a design / modeling project:

How to get started? How to get your ideas into the CAD system.

How to finish? How to get your model properly 3D printed.

Page 3: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

A designer for 30 years…A designer for 30 years…

CCD TV Camera Soda Hall

RISC 1 Computer Chip Octa-Gear (Cyberbuild)

Page 4: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Recent Designs and ModelsRecent Designs and Models

Page 5: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Talk OutlineTalk Outline

Start: Concept Input

“Sculpture Generator I”

“Viae Globi” Sculptures

Interactive Inverse 3D Modeling

Finish: Obtaining Tangible Output

Construction of “Pax Mundi”

Slicing Imperfect .STL files

Page 6: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Brent CollinsBrent Collins

“Hyperbolic Hexagon II”

Page 7: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Brent Collins: Stacked SaddlesBrent Collins: Stacked Saddles

All photos by Phillip Geller

Page 8: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

ScherkScherk’’s 2nd Minimal Surfaces 2nd Minimal Surface

Isolated core

Page 9: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

““ScherkScherk Towers” Towers” (2nd and 3d order)(2nd and 3d order)

Normal“biped”saddles

Generalization to higher-order saddles(“monkey saddles”)“Scherk Tower”

Page 10: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

““Hyperbolic HexagonHyperbolic Hexagon”” by B. Collins by B. Collins

6 saddles in a ring

= “wound up” 6-story Scherk tower

6 holes passing through symmetry plane at ±45º

Discussion: What if …

we added more stories ?

or introduced a twist before closing the ring ?

Page 11: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Closing the LoopClosing the Loop

straight

or

twisted

“Scherk Tower” “Scherk-Collins Toroids”

Page 12: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

““Hyperbolic HeptagonHyperbolic Heptagon” - ” - Paper Skeleton Paper Skeleton

Page 13: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Brent CollinsBrent Collins’’ Prototyping Process Prototyping Process

Armature for the Hyperbolic Heptagon

Mockup for the Saddle Trefoil

Time-consuming ! (1-3 weeks)

Page 14: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Sculpture Generator ISculpture Generator I, GUI , GUI

Page 15: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Some of the Parameters in Some of the Parameters in ““SC1SC1””

Page 16: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Base Geometry: One Scherk StoryBase Geometry: One Scherk Story

Hyperbolic Slices ==> Triangle Strips

Pre-computed -- then warped into toroid

Page 17: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Generated Scherk-Collins ShapesGenerated Scherk-Collins Shapes

Page 18: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Shapes from Shapes from Sculpture Generator ISculpture Generator I

Page 19: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

A Simple Scherk-Collins ToroidA Simple Scherk-Collins Toroid

Parameters:(genome)

branches = 2 stories = 1 height = 5.00 flange = 1.00 thickness = 0.10 rim_bulge = 1.00 warp = 360.00 twist = 90 azimuth = 90 textr_tiles = 3 detail = 8

Page 20: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

A Scherk Tower A Scherk Tower (on its side)(on its side)

branches = 7 stories = 3 height = 0.2 flange = 1.00 thickness = 0.04 rim_bulge = 0 warp = 0 twist = 0 azimuth = 0 textr_tiles = 2 detail = 6

Page 21: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

V-artV-art

VirtualGlassScherkTowerwithMonkeySaddles

(Radiance 40 hours)

Jane Yen

Page 22: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

CollinsCollins’’ Fabrication Process Fabrication Process

Example: Vox Solis

Layered laminated main shapeWood master pattern

for sculpture

Page 23: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

““Vox SolisVox Solis”” by Brent Collins by Brent Collins

Page 24: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Slices through Slices through ““Minimal TrefoilMinimal Trefoil””

50% 10%23%30%

45% 5%20%27%

35% 2%15%25%

Page 25: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

SSL Contours from QuickSliceSSL Contours from QuickSliceShaded STL-file SSL-slices

Page 26: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

SSL Contours from QuickSliceSSL Contours from QuickSliceShaded STL-file SSL-slices

SML-roads in one of the central slices

Page 27: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

One thick slicethru sculpture,from which Brent can cut boards and assemble a rough shape.

Traces represent: top and bottom,as well as cuts at 1/4, 1/2, 3/4of one board.

Profiled Slice through Profiled Slice through ““HeptoroidHeptoroid””

Page 28: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Emergence of the Emergence of the Heptoroid Heptoroid (1)(1)

Assembly of the precut boards

Page 29: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Emergence of the Emergence of the HeptoroidHeptoroid (2) (2)

Forming a continuous smooth edge

Page 30: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Emergence of the Emergence of the HeptoroidHeptoroid (3) (3)

Smoothing the whole surface

Page 31: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

The Finished The Finished HeptoroidHeptoroid

at Fermi Lab Art Gallery (1998).

Page 32: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Part 1b: VIAE GLOBIPart 1b: VIAE GLOBI

A completely different paradigm . . .

Page 33: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Brent CollinsBrent Collins’’ ““Pax MundiPax Mundi””

1997: wood, 301997: wood, 30””diam.diam.

2006: Commission from H&R Block, Kansas Cityto make a 70”diameter version in bronze.

My task: to define the master geometry.

Page 34: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

How to Model “How to Model “Pax MundiPax Mundi”...”...

Already addressed that question in 1998:

Pax Mundi could not be done with Sculpture Generator I

Needed a more general program !

Used the Berkeley SLIDE environment.

First: Needed to find the basic paradigm

Page 35: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Sculptures by Naum GaboSculptures by Naum Gabo

Pathway on a sphere:

Edge of surface is like seam of tennis- or base-ball;

2-period Gabo curve.

Page 36: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

2-period 2-period ““Gabo CurveGabo Curve””

Approximation with quartic B-splinewith 8 control points per period;but only 3 DOF are used (symmetry!).

Page 37: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

4-period 4-period ““Gabo CurveGabo Curve””

Same construction as for as for 2-period curve

Page 38: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Pax MundiPax Mundi Revisited Revisited Can be seen as:

Amplitude modulated, 4-period Gabo curve

Page 39: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

SLIDE-GUI for SLIDE-GUI for ““Pax MundiPax Mundi”” Shapes ShapesGood combination of interactive 3D graphicsand parameterizable procedural constructs.

Page 40: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Many Different Many Different Viae GlobiViae Globi Models Models

Page 41: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

1c: Interactive Inverse 3D Modeling1c: Interactive Inverse 3D Modeling

How to generalize this approach.

Important: Include the designer in the reverse-engineering loop!

Page 42: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Example Design ScenarioExample Design Scenario

Kitchen appliances “With a Heart”

Page 43: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Modular Reverse EngineeringModular Reverse Engineering

Extract parameterized descriptions, module by module.

In each case choose a representation that best enables the intended re-design.

Use plausible, commonly used CAD constructs: CSG

Quadrics

Extrusions

Rotational Sweeps

Progressive Sweeps

Page 44: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Interactive Inverse 3D Modeling Interactive Inverse 3D Modeling ( Jimmy Andrews( Jimmy Andrews’’ PhD thesis) PhD thesis)

Let the user select a high-level model structurethat is most useful for immediate re-design.

Initial artifact Redesigns enabled by different imposed structure

Page 45: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Option 1: Varying Rotational SymmetryOption 1: Varying Rotational Symmetry

3 fold 4 fold 20 fold

Extract one sector; collapse/expand in polar coordinates.

Page 46: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Opt.2: Editing as Surface of RevolutionOpt.2: Editing as Surface of Revolution

Mesh is rotationally collapsed to yielda compound “cross-section”;

This cross-sectioncan then be edited,and this will affectthe whole mesh.

Page 47: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Opt.3: Extraction as Opt.3: Extraction as a Progressive Sweepa Progressive Sweep

20-story Scherk chain

Revised trefoil sweep path

Page 48: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

User-Guided Fitting ModulesUser-Guided Fitting Modules Stationary sweeps:

(Surfaces of revolution, helices, etc)

Progressive sweeps:

Quadrics:

Freeform surfaces:

CSG modules: …

Page 49: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

… then assume point belongs to sweep.

If normal is perpendicular to velocity field:

(simple motion) (simple velocity field)

Defined by a simple sweep motion, with a fixed axis (e.g. revolution, helix, spiral)

Stationary Sweeps

Page 50: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Fitting Algorithm:Fitting Algorithm: Find velocity field that fits marked data points:

Minimize (subject to constraint):

Grow the region by adding more fitting points

Repeat (typically converges in 2-3 iterations)

[ Pottmann, Lee, and Randrup, 98 ]

Page 51: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Interactive Surface EditingInteractive Surface Editing• A rotational sweep around the z-axis is specified.• A “thick profile” is extracted by collapsing φ-component.

• Portions of the “thick profile” can be selected and moved;• the corresponding surface elements move radially:• (a) the whole nose and cheeks area is enlarged;• (b) only the nose is stretched.

(a) (b)

Page 52: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Progressive SweepsProgressive Sweeps More parameters: Make incremental local adjustments

Allow more complex cross-section transformations(translation, rotation, scaling)

User stroke provides initial guess

Fit by iteratively extending and optimizing

Page 53: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Progressive Sweep FittingProgressive Sweep Fitting

Starting from user stroke, optimize cross section

Iteratively extend and re-optimize

Stop when best further extension would have high error

[Andrews, Joshi, Sequin 2011]

Page 54: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Flexibility of Progressive SweepsFlexibility of Progressive Sweeps

Capture the parameterized procedural description that best fits the users re-design plans.

• Yellow strokes (#1) defines the start of a progressive sweep.• An optional 2nd stroke extends or restricts the sweep range.

Page 55: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Versatility of Progressive SweepsVersatility of Progressive Sweeps• Different starting strokes and different error tolerances result in a wide variety of possible extracted sweeps.

• Sweep path and profiles can be edited independently.

• Surface details with respect to the extracted sweep can be conserved and reapplied after any editing moves, or they can be ignored or smoothed out.

Page 56: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Preserving Surface DetailsPreserving Surface Details

• Modifying the sweep path & scaling,while preserving surface details:

Page 57: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Freeform Surfaces:Freeform Surfaces:Laplacian Surface EditingLaplacian Surface Editing

This is the workhorse to handle “everything else”: - Smoothing out unwanted details (ear). - Keeping model elements smoothly connected (leg).

Page 58: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

System PipelineSystem Pipeline

Unstructured mesh

Unstructured mesh

PhotosPhotos

3D scans3D scans

Input Data

Editable Model

Editable Model

ModelHierarchy

& Re-fitting

Clean

User-guided fitting

modules

Nice rendering

Nice rendering

STL for RPSTL for RP

OBJ for CAD

OBJ for CAD

Redesigned output

Page 59: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

PART II: Output EndPART II: Output End

Fabrication of Fabrication of Pax MundiPax Mundi

Page 60: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Target GeometryTarget Geometry

Constraints:• Bronze; 70” diameter• Less than 1500 pounds• Less than $50’000• Maintain beauty, strength• Minimize master geometry

Page 61: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Emulation; Define Master PatternEmulation; Define Master Pattern

Use 4 copies.

Master to make a mold from.

Alignment tab

Page 62: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Model of Master Part Made with FDMModel of Master Part Made with FDM

4 pieces make the whole sculpture

Page 63: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Joe ValasekJoe Valasek’’s CNC Milling Machines CNC Milling Machine

Styrofoam milling machine

Page 64: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Design of Two-Part MasterDesign of Two-Part Master

Alignment tabs for easy assembly

Page 65: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Subdivide into Subdivide into TwoTwo Master Segments Master Segments

Page 66: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Machined Master Pattern #2Machined Master Pattern #2

Page 67: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

(Cut) Master (Cut) Master Silicone Rubber MoldSilicone Rubber Mold

Page 68: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

MoldMold Several (4) Wax Copies Several (4) Wax Copies

Page 69: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

SpruingSpruing the the Wax PartsWax Parts for Casting for Casting

Page 70: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Ceramic Slurry ShellCeramic Slurry Shell Around Wax Part Around Wax Part

Page 71: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Taking the Taking the ShellShell out of the out of the KilnKiln

Page 72: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

ShellShell Ready Ready for Castingfor Casting

Page 73: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Pouring Liquid BronzePouring Liquid Bronze

Page 74: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Casting with Casting with Liquid BronzeLiquid Bronze

Page 75: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Freeing the Freeing the Bronze CastBronze Cast

Page 76: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Assembling the SegmentsAssembling the Segments

Page 77: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

The The ““GrowingGrowing”” Ribbon Ribbon

Page 78: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

The Assembly is Too Squat !!The Assembly is Too Squat !!

Page 79: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Changing the CurvatureChanging the Curvature

PHYSICS is important too ...PHYSICS is important too ...

not just Geometry !not just Geometry !

Page 80: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Grinding the Welded Seams,Grinding the Welded Seams,Polishing the SurfacePolishing the Surface

Page 81: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Applying PatinaApplying Patina

Page 82: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Front Door of the ...Front Door of the ...

H&R Block Building

Page 83: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley
Page 84: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Making Plastic RP ModelsMaking Plastic RP Models

3D model of the regular 4-dimensional 120-Cell

Page 85: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Acceptable Model FilesAcceptable Model Files

The STL file should be a proper watertight 2-manifold, with no cracks or intersecting faces.

All faces should have their normals point outwards, i.e., away form material.

In this boundary mesh every edge should be used exactly twice, once each in opposite directions.

Page 86: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

An Actual Model of the 120-CellAn Actual Model of the 120-Cell

Based on the way it is constructed, such a model may look quite differently.

My model was formed by projecting all edges from 4D to 3D, and then replacing each edge with a prism of reasonable diameter, so that a robust model results.

But then we do not get a manifold B-Rep !At every vertex there are 4 intersecting prisms, plus, perhaps, an additional sphere!

(And for the 600-Cell there would be 12 cylinders!)

How does an RP machine handle such a file ?

Page 87: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

And Things Can Get Much Worse!And Things Can Get Much Worse!

Slicing the gridded “TetraBoy” surface:

The .STL file displayed by QuickSlice

The .SSL slicesgenerated by QuickSlice:

Lots of stuff missing!

Page 88: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

One of Many Bad LayersOne of Many Bad Layers

many missing struts

incomplete features

Page 89: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

““Tetra-Boy SurfaceTetra-Boy Surface””

A single-sided, non-orientable surface of genus 4

Page 90: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Model Clean-upModel Clean-up

Ideally all models should be cleaned up …

But general 3D Model Clean-up is very hard !!!

I don’t know of any program than can do this, even for only moderately “flawed” models.

Page 91: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

QuickSliceQuickSlice Idiosyncrasies IdiosyncrasiesWhat happens at overlapping / intersecting contours?

Slices every facet individually, ignoring orientation.

Re-constructs contours by joining line segments.

In general, uses an XOR “in/out” definition.

Flips contour orientation “if it seems to help”. . .

On concentric circles the inner contour is flipped.

On overlapping circles no flip is introduced;but a void then occurs in overlap area.

But: Slicing programs could do a better job, with a quite simple approach . . .

Page 92: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

““BadBad”” .STL Files .STL Files

If they come from a CAD tool, errors are not random:

NOT: randomly missing triangles

NOT: randomly mis-oriented faces

More likely: overlapping “legal” parts:

Unexecuted Booleans: mostly unions ,since this works fine for graphics displays.

Possibly self-intersecting sweeps, e.g. in tight knots or in Klein bottles.

Very likely, the facet orientation is trustworthy . . .

Let’s use it properly!

Page 93: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

2D Model Interpretation2D Model Interpretation

Intelligent 2D model clean-up is easy:

Use The Winding Number Paradigm !

Slice all triangles;

Use facet normals to produce oriented line segments (CCW contours around inside material.)

Define “inside” with positive winding numbers.

Overlapping parts produce winding numbers > 1.

Page 94: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Review of Winding NumberReview of Winding Number Defined only for closed curves (in the plane).

Defined with respect to a (sample) point.

Evaluation along scan-line with up-down counter.

Page 95: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Why Is This a Good Thing?Why Is This a Good Thing?

Implicit assumption is that designer wants Boolean union or (simple = 1 level) difference.

Positive winding numbers

means: inside.

Negativewinding numbers

get ignored.

Simple overlapping parts will be union-ed together!

Page 96: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Works Even with Negative Inside ContoursWorks Even with Negative Inside Contours

OK to have hollow parts with clockwise contours inside;This guarantees proper subtraction of winding number.

Page 97: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Final Plea . . . Final Plea . . .

Please use your influence to promote the

Winding Number Paradigm!

A lot of headaches with slicing software will then disappear!

Page 98: NDIST 2012 Shape Representation Carlo H. Séquin University of California, Berkeley

Questions ?Questions ?