Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Interactive Design in 3D
A representation that was general enough to
depict any shape
Editing operations that would allow shapes to
be modified limitlessly
Methods for computing shapes rather than
drawing them
The Fathers of Solid Modeling (1973)
Ian Braid
Bruce Baumgart
Seminar in
Design Computing
ACIS
Parasolids
Seminar in
Design Computing
E
F
Vertex adjacencies:
Geometry and topology
line :: edge
F
F
Face adjacencies:
Edge adjacencies:
surface :: face
Seminar in
Design Computing
E F
E+V=2
12 + 8 = 2
E
V
E F
E
V
Face adjacencies:
V
E
F L E L F
E
V
Faces bounded by
multiple loops
Seminar in
Design Computing
B
S1
S2
Shapes bounded by
multiple shells
F-E+V-L=2
12 - 24 + 16 - 0 = ?
Seminar in
Design Computing
- E + V - L = 2*S
24 + 16 - 0 = 2*2
F - E + V - L = 2*(S - H)
Seminar in
Design Computing
F - E + V - L = 2*(S - H)
16 - 36 + 24 - 2 = 2*(2 - 1)
Data structure:
Winged edge data structure
F
F
shell
shell
V
face
face
loop
loop
edge
edge
vert
vert
face
Edge adjacencies:
Edge #
loop_ptr
p-edge_ptr
s-edge_ptr
vert_ptr
Seminar in
Design Computing
edge
Data structure:
Winged edge data structure
F
F
shell
shell
V
face
face
loop
loop
edge
edge
vert
vert
face
Edge adjacencies:
Edge #
op_edge_ptr
loop_ptr
p-edge_ptr
s-edge_ptr
vert_ptr
edge
F1
Seminar in
Design Computing
F3
F4
F2
Mbsflv( );
1-0+1=2
0-1+1=0
Keml( e1);
1-1+0=0
0+1-0-1=0
Seminar in
Design Computing
Kbsflv(s, body_too )
* body s;
flag body_too;
/* deletes a shell, consisting of all its faces, loops, edges and vertices.
The flag determines if it is the last shell, whether to delete the body also.
*/
f
null
v
Seminar in
Design Computing
Seminar in
Design Computing
A
B
Seminar in
Design Computing
/* makes a new edge between 2 loops on the same face, kills one loop; new edge
is successor of edge1 and oppedge is successor of edge2 */
Seminar in
Design Computing
Completeness?
Euler operators
F - E + V - L = 2 * (S - H)
1
n
0
0
1
- 0 +
- m +
- 1 +
+1 - 1 +
1 p 1 1 0 -
0
q
0
0
0
=
=
=
=
=
2*
2*
2*
2*
2*
(1
(1
(0
(0
(0
0)
0)
0)
0)
0)
-1 + 1 + 0 - 0 = 2 * (0 - 0)
0 - 1 + 0 + 1 = 2 * (0 - 0)
0 + 1 + 0 - 1 = 2 * (0 - 0)
3. Glue faces
together
Seminar in
Design Computing
Seminar in
Design Computing
FACE
FACE
FACE
F. DO NEEDED BOOKKEEPING:
1.re-index all faces, edges and vertices
2. update euler count and change genus, if necessary
SHELL
FACE
FACE
FACE
FACE
FACE
FACE
MakeLamina
A
Seminar in
Design Computing
Seminar in
Design Computing
KillFaceMakehole
S
An algebra
Seminar in
Design Computing
Assignment A:
The Expanded Euler equation, with the parameters F,E,V,L,S,H, defines a
shape topology appropriate for a family of shapes.
Is there a unique shape topology for a particular set of parameters? If we
stored shape topologies by their parameters, would there be a unique
topology for a given set of Euler parameters?
Please (informally) provide a convincing argument one way or the other.
Assignment B:
Define the sequence of Euler operators needed to define an
extrusion, on M sides in the base.
Seminar in
Design Computing