290 likes | 576 Views
Computer Aided Engineering Design. Anupam Saxena Associate Professor Indian Institute of Technology KANPUR 208016. Recollection!. Banana trick, orange trick!. Extended Jordon’s curve Theorem A simple, closed Orientable surface bounds a Solid!. The bounding surface can be
E N D
Computer Aided Engineering Design AnupamSaxena Associate Professor Indian Institute of Technology KANPUR 208016
Recollection! Banana trick, orange trick! Extended Jordon’s curve Theorem A simple, closed Orientable surface bounds a Solid! The bounding surface can be divided into surface patches Each patch has curved boundaries Both GEOMETRIC and CONNECTIVITY INFORMATION SHOULD BE STORED AND RETRIEVED! Each curve has end points! Anupam Saxena
Half Spaces • Half-spaces are unbounded geometric entities • they divide the representation space E3 into two infinite portions • one filled with material while the other empty • Surfaces are half-space boundaries • half-spaces can be treated as directed surfaces • the direction vector points towards the material side
Half spaces: Examples • A half-space H can be defined as a regular point set in E3 such that • H = {P| PE3 and f(P) < 0} • f(P) = 0 defines the surface equation • Examples • Planar half-space: H = {(x, y, z)| z < 0} • Cylindrical half-space: H = {(x, y, z)| x2 + y2 < R2} • Spherical half-space: H = {(x, y, z)| x2 + y2 + z2 < R2} • Conical half-space : H = {(x, y, z)| x2 + y2 < tan2(/2)[z]2} • Toroidal half-space with radii R1 and R2: • H = {(x, y, z)| (x2 + y2 + z2 – R22 – R12)2< 4R22(R12 – z2)}
Solid with half spaces • Complex objects can be modeled as half-spaces combined using set (union, subtraction) operations • Half-spaces acting as bounding patches for solids can be free form surfaces
An L Bracket Example H4 H1 H9 H7 H8 H3 H5 H2 H6 Let all be the directed surfaces s.t. the material points into the solid Anupam Saxena
Construction using ½ Spaces H4 H1 H9 H7 H8 H3 H6 H5 (H1 H2 H3 H4 H6 H7) + H2 (H4 H8 H5 H2 H3 H6) (H9) Unbounded, implicit topological and geometric description Anupam Saxena
Representation scheme • be versatileand capable of modeling a generic solid (b) generate validsolids (c) be completein the sense that every valid representation (solid) produced is unambiguous (d) generate uniquesolids in that no two different representations should generate the same object (e) have closureimplying that permitted transformation operations on valid solids always yield valid solids (f) be compactand efficient in matters of data storage and retrieval.
Two representation schemes • Wireframe approach • Boundary Representation Approach • Constructive Solid Geometry • More catered to modeling • Work well for Polyhedral solids • Can be extended for use with homeomorphic non-polyhedral solids
Wireframe representation • one of the oldest ways to represent solids • representation is essentially through a set of key verticesconnected by key edges • both topological and (NOT ALL) geometric information is stored • The edges may be straight or curved
4 (5) (4) 3 (3) (6) (2) 1 (1) 2 z y x Example: Wireframe Tetrahedron Edge Number Vertex 1 Vertex 2 1 1 2 2 2 3 3 1 3 4 1 4 5 3 4 6 2 4 Vertex Number x y z 1 0 0 0 2 1 4 0 3 3 2 0 4 1 2 4
8 (12) (11) 7 (8) 5 (10) (9) 6 (7) (5) 4 (3) (4) (6) 3 1 (2) (1) 2 Example: Wireframe Block • Edge table • 1 2 • 2 3 • 3 4 • 4 1 • 5 1 • 6 2 • 7 3 • 8 4 • 5 6 • 6 7 • 7 8 • 8 5 • vertex table • 0 0 0 • 10 0 0 • 10 10 0 • 0 10 0 • 0 0 10 • 10 0 10 • 10 10 10 • 0 10 10
Advantages and Drawbacks • wireframe models are simple, • they are non-unique and ambiguous • the models do not include the face information.
Boundary Representation scheme • B-rep for short • an extension of wireframe modeling to include the face information • The faces can either be analytical or free form surfaces • B-rep uses the Jordan’s curve theorem on boundary determinism • a closed connected surface determines the interior of a solid • both topological and geometric information is stored
Face orientations with B-rep • Face orientations may be recorded such that a normal to the face points into the solid. • This can be ensured by the clockwise ordering of vertices (right-handed rule) associated with the face • Using normal vectors, one can distinguish the interior of the solid from its exterior
4 (5) (4) 3 (3) (6) (2) 1 (1) 2 z y x Example: Face orientation Face 1: 1, 4, 2 Face 2: 2, 4, 3 Face 3: 3, 4, 1 Face 4: 2, 3, 1
Back face D 4 (5) (6) 4 (6) A B (5) B 3 (3) A (3) (4) (2) C 2 1 (1) (2) (1) 2 Winged Edge data structure • Data storage method with B-Rep • Employs only edges to document the connectivity
Back face D 4 (5) (6) 4 (6) A B (5) B 3 (3) A (3) (4) (2) C 2 1 (1) (2) (1) 2 Winged Edge data storage Tetrahedron
Additional tables with Winged Edge Structure face table vertex table These are non-unique tables
Internal loops in Winged Edge Structure • When internal loops present • Assign them counterclockwise orientation OR/AND • Connect the internal loop with the external one using auxiliary edges • Effectively, only one loop will be present • An Auxiliary edge will have the same face on the left and right
Euler-Poincaré formula • How do we know a polyhedral solid is a valid solid? • V – E + F – (L – F) – 2(S – G) = 0 * • Extended to include pot and through holes • V as number of vertices, • E as the number of edges, • F as the number of faces, • G as the number of holes (or genus) penetrating the solid, • S as the number of shells and • L as the total number of outer and inner loops • a shell is an internal void of a solid bounded by a closed connected surface that can have its own genus value * For a valid solid, this is true. Converse, however, is NOT TRUE
Euler-Poincaré formula • Example 1: V = 8 E = 12 F = 6 L = 6 S = 1 G = 0 V – E + F – (L – F) – 2(S – G) 8 – 12 + 6 – (6 – 6) – 2(1 – 0) = 0
Euler-Poincaré formula • Example 2: V = 16 E = 24 F = 11 L = 12 S = 1 G = 0 V – E + F – (L – F) – 2(S – G) 16 – 24 + 11 – (12 – 11) – 2(1 – 0) = 0
Euler-Poincaré formula • Example 3: V = 16 E = 24 F = 10 L = 12 S = 1 G = 1 V – E + F – (L – F) – 2(S – G) 16 – 24 + 10 – (12 – 10) – 2(1 – 1) = 0
Euler-Poincaré formula • Example 4: V = 24 E = 36 F = 16 L = 18 S = 2 G = 1 V – E + F – (L – F) – 2(S – G) 24 – 36 + 16 – (18 – 16) – 2(2 – 1) = 0
Euler-Poincaré formula • Example 5: V = 10 E = 15 F = 7 L = 7 S = 1 G = 0 This is NOT a valid solid One face is dangling V – E + F – (L – F) – 2(S – G) 10 – 15 + 7 – (7 – 7) – 2(1 – 0) = 0