by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University
by Jim X. Chen: What is Modeling a process of constructing a virtual 3D graphics object Modeling tools: creating and constructing complex 3D models fast and easy. Rendering is a process of creating images from graphics models.
by Jim X. Chen: A graphics model geometrical descriptions (particles, vertices, polygons) and associated attributes (colors, shadings, transparencies, materials) can be saved in a file using a standard (3D model) file format.
by Jim X. Chen: Models Organizational models: hierarchies representing institutional bureaucracies Quantitative models: equations describing econometric, financial, socialogical,... systems Geometric models: collections of components with well-defined geometry and their interconnections Deformable models: that change forms
by Jim X. Chen:
6 POLYGON MESHES list of vertices - polygon; list of edges - polygon list of polygons -- objects Plane equation from 3 vertices: Ax + By +Cz + D = 0 Normal: (A,B,C) = k(P 1 P 2 x P 1 P 2 ) A, B, and C are proportional to the signed areas of the projections of the polygon onto the (y, z), (x, z), and (x, y) planes. If the polygon is parallel to the (x, y) plane, then A = B = 0.
by Jim X. Chen:
8
9 PARAMETRIC BICUBIC SURFACES General form of cubic curve: Q(u) = U ·M ·G where G, the geometry vector, is a constant If we allow G to vary in 3D along some path: Then, a functional description is often tesselated to produce a polygon-mesh approximation to the surface (trianglular polygon patches) For a fixed t 1, Q(s, t 1 ) is a curve because G(t 1 ) is constant. If G i (t) are cubics, the surface is said to be a parametric bicubic surface
by Jim X. Chen: Hermite Surfaces Curve: and Surface: Since: we have:
by Jim X. Chen: Where Where x coordinates, coordinates of the tangent vectors and twists are specified
by Jim X. Chen: Just as the Hermite cubic curves, the Hermite bicubic permits C 1 and G 1 continuity from one patch to the next 1st, to have C 0 continuity, the matching curves of the two patches must be identical, which means the control points for the two surfaces must be identical along the edge To have C 1 continuity, the control points along the edge and the tangent and twist vectors across the edge be equal. To have G 1 continuity, the tangent and twist vectors across the edge be in the same direction, but do not need to have the same magnitude..
by Jim X. Chen: Bezier Surfaces The Bezier bicubic formulation can be derived in exactly the same way as above. The results are: B-Spline Surfaces The B-Spline bicubic formulation can be derived in exactly the same way also. The results are: Normals to Surfaces The cross product between thes and t tangent vectors of the surface Q(s, t) results in the normal at givens andt:
by Jim X. Chen: Solid Modeling Methods (Modeling Solids)
by Jim X. Chen: Creating solid models. A solid model is defined by volumes. Hierarchy of entities from low to high: keypoints lines areas volumes. You cannot delete an entity if a higher- order entity is attached to it. Volumes Areas Lines & Keypoints Lines Areas Volumes
by Jim X. Chen: File formats Representing Solids (solid models) The domain of representation should be large to allow a useful set of physical objects (solids) The representation should be unambiguous Modeling Tools have their own file formats Volumes Areas Lines & Keypoints Lines Areas Volumes
by Jim X. Chen: Simple 3D Half-Spaces Sphere Cylinder Cone Torus Box Plane it splits space into two infinite half-spaces you can use an infinite cylinder and two planes to make a capped cylinder You can also get a box from 6 planes…
by Jim X. Chen: Modeling Approaches Two approaches to creating a solid model: Top-down Bottom-up Top-down modeling starts with a definition of volumes (or areas), which are then combined in some fashion to create the final shape. add
by Jim X. Chen: Approaches Bottom-up modeling starts with keypoints, from which you “build up” lines, areas, etc. You may combine both methods.
by Jim X. Chen: Top-Down Modeling Top-down modeling starts with a definition of volumes (or areas), which are then combined in some fashion to create the final shape. The volumes or areas that you initially define are called primitives. Primitives are located and oriented with the help of the working plane. The combinations used to produce the final shape are called Boolean operations.
by Jim X. Chen: Primitives 2-D primitives include rectangles, circles, triangles, and other polygons.
by Jim X. Chen: Primitives 3-D primitives: blocks, cylinders, prisms, spheres, and cones.
by Jim X. Chen: Top-Down Modeling...Primitives When you create a 2-D primitive, a modeling tool usually defines an area, along with its underlying lines and keypoints. When you create a 3-D primitive, a modeling tool usually defines a volume, along with its underlying areas, lines and keypoints.
by Jim X. Chen: Top-Down Modeling...Primitives You can create primitives by specifying their dimensions or by picking locations in the graphics window.
by Jim X. Chen: Top-Down Modeling Boolean Operations Boolean operations: combinations of geometric entities: add, subtract, intersect, divide, glue, and overlap, etc. The “input” to Boolean operations: geometric entities, simple primitives or complicated volumes imported from a CAD system. add Input entities Boolean operation Output entity(ies)
by Jim X. Chen: Boolean CSG Operations Union Addition, A Ú B Intersection A Ù B Difference Subtraction, A – B, A Ù not B Difference is not commutative
by Jim X. Chen: A more complicated example Difference of: Intersection of Sphere and Cube Union of 3 Cylinders -=
by Jim X. Chen: Bottom-Up Modeling Most modeling tools use top-down approach Low level programming systems usually adopts with bottom-up modeling
by Jim X. Chen: Primitive Instancing In a hierachical model, there are parts that are exactly the same. For example, all four wheels of a car can be the same model. Instead of saving four copies of the model, we save just one primitive model and three instances If we modify the primitive, we know that the primitive and the instances are identically changed.
by Jim X. Chen: Sweep Representations a 2D area swept along a linear path normal to the plane of the area to create a volume 2D/3D along a trajectory through space defines a new object -- sweep
by Jim X. Chen: More representations Boundary Representations describe object by its surface boundaries: shared edges have pointers to 2 polygons, etc. Spatial-partitioning representations Spatial-Occupancy Enumeration identical solids called voxels (volume elements) arranged in a fixed regular grid. Octrees: divide-&-conquer power of subdivision. Binary Space-partitioning Trees: recursively divide space into pairs of subspaces, each separated by a plane. Originally used in determining visible surfaces in graphics.
by Jim X. Chen: Physics-based Modeling Modeling triangular polyhedron: all vertices and the surrounding triangular shapes are congruent
by Jim X. Chen: Modeling Tools Examples in 3D Studio MAX 3, the book