Modeling and representation 1 – comparative review and polygon

advertisement
Modeling and representation 1 – comparative
review and polygon mesh models
2.1 Introduction
2.2 Polygonal representation of three-dimensional objects
2.3 High-level methods – constructive solid geometry
2.4 High-level creation using modellers/ediotrs
2.1 Introduction

Modelling and representation is a general phrase which
can be applied to any or all of the following aspects of
objects:



Creation of a three-dimensional computer graphics
representation
The technique or method or data structure used to represent the
object
Manipulation of the representation – in particular changing the
shape existing model.
2.1 Introduction


The representation of an object is very much an unsolved
problem in computer graphics
Representation for user or for renderer


Polygon mesh representation :both
Bi-cubic parametric patches and constructive solid geometry
(CSG): for user, it may be converted into polygon meshes for
rendering
2.1 Introduction



Different representational methods have their
advantages and disadvantages.
There is no universal solution to the many problems .
Particular modelling methods have evolved for
particular contexts.
2.1 Introduction

Mainstream models used in computer graphics





Polygonal
Bi-cubic parametric patches
CSG (constructive solid geometry)
Spatial subdivision techniques
Implicit representation
2.1 Introduction

Polygonal


Objects are approximated by a net or mesh of
planar polygonal facets.
With this form we can represent, to an accuracy
that we chose, an object of an shape.
2.1 Introduction

Example
2.1 Introduction

Bi-cubic parametric pathes

These are “curved quadrilaterals”.

Each patch is specified by a mathematical
formula that gives the position of the patch in 3D
space and its shape.

A significant advantage of the representation is its
ecnomy.
2.1 Introduction

Example

Polygon mesh (2048
elements)

Patch (32 patches)
2.1 Introduction

CSG (constructive solid geometry)


This in an exact representation to within certain
rigid shape limits.
The CSG method is a volumetric representation –
shape is represented by elementary volumes or
primitives
2.1 Introduction

Example
2.1 Introduction

Spatial subdivision techniques


This simply means dividing the object space into
elementary cubes, known as voxels.
Labelling each voxel as empty or as containing part
of an object.
2.1 Introduction

Implicit representation

Surfaces defined by underlying mathematical formula

An implicit function is, for example: (which is definition for a sphere)
x2  y 2  z 2  r 2
2.1 Introduction

Example
2.2 polygonal representation of threedimensional objects
2.2.1 creating polygonal objects
2.2.2 manual modelling of polygonal objects
2.2.3 automatic generation of polygonal objects
2.2.4 interactive/mathematical generation of polygon objects
2.2 polygonal representation of threedimensional objects


This is the classic representational form in 3D graphics
Advantage





creating polygonal objects is straightforward
visually effective algorithms exist
highly efficient renderer
simpler elements
Disadvantage




complex and high creation cost
do not allow simple shape manipulation
hard to do exact collision detection
accuracy
2.2 polygonal representation of threedimensional objects

Hierarchical structure

vertex-based boundary model


representing faces in terms of a sequences of vertices
edge-based boundary model

representing faces in terms of a closing sequence of
edges
2.2 polygonal representation of threedimensional objects

Conceptual hierarchy
2.2 polygonal representation of threedimensional objects

Topological representation
2.2 polygonal representation of threedimensional objects

Practical data structure
2.2 polygonal representation of threedimensional objects

Attribute



Polygon attribute
Edge attribute
Vertex attribute
2.2 polygonal representation of threedimensional objects

Polygon attributes






Triangular or not
Area
Normal to the plane containing the polygon
Coefficients (A,B,C,D) of the plane containing
the polygon where Ax + By + Cz + D=0
Whether convex or not
Whether it contain holes or not
2.2 polygonal representation of threedimensional objects

Edge attributes



Length
Whether it is an edge between two polygons or an
edge between two surfaces
Polygons on each side of the edge
2.2 polygonal representation of threedimensional objects

Vertex attribute



Polygons that contribute to the vertex
Shading or vertex normal – the average of the
normals of the polygons that contribute to the
vertex
Texture coordinates (u,v) specifying a mapping
into a two-dimensional texture image
2.2 polygonal representation of threedimensional objects

Another problems



Scale problem: the needs to control the detail of objects
Solution : maintain a hierarchy of models in different
detail and use the one appropriate.
Problem s to be solved:



Visual disturbances
How to generate the hierarchy
How many levels
2.2.1 Creating polygonal objects

Four common examples of polygon modelling methods:




Using a three-dimensional digitiser or adopting an equivalent
manual strategy
Using an automatic device such as a laser ranger
Generating an object from a mathematical description
Generating an object by sweeping
2.2.2 manual modelling of polygonal
objects

The easiest way to model a real object is manually using a three-dimensional
digitiser.
2.2.3 Automatic generation of
polygonal objects

A device that is capable of creating very accurate or high-resolution polygon
mesh objects from real objects is a laser ranger.
2.2.4 Interactive/mathematical
generation of polygon objects


Many polygonal objects are generated through an
interface into which a user puts a model description
in the form of a set of curves.
The most popular paradigm is that of sweeping a
cross-section in a variety of different ways.
2.2.4 Interactive/mathematical
generation of polygon objects

Examples
2.2.4 Interactive/mathematical
generation of polygon objects

Synder’s rail curve product surfaces
2.2.4 Interactive/mathematical
generation of polygon objects

Synder’s Affine Transformation Surface
2.2.4 Interactive/mathematical
generation of polygon objects

Three problems



The size of the polygonal primitives depends on the
excursion of the spine curve.
How do we orient the cross-section with respect to a
varying spine.
How do we prevent cross-sections self-intersecting
2.2.4 Interactive/mathematical
generation of polygon objects

Three problems
2.2.4 Interactive/mathematical
generation of polygon objects

Solve problem1


The more polygons occur when the curvature
twists rapidly.
The most direct way to do this is to use the curve
subdivision algorithm and subdivide the curve
until a linearity test is positive.
2.2.4 Interactive/mathematical
generation of polygon objects

Solve problem2 (Frenet frame)

The unit length tangent vector T:
TV

V
The derivative of the curve V:
V  3au2  2bu  c

The principal normal N:
NK

K
where : K  V  A  V
4
The second derivative of the curve A:
A  6au  2b

V
B:
B T N
2.2.4 Interactive/mathematical
generation of polygon objects

Solve problem2 (Frenet
frame)
2.2.4 Interactive/mathematical
generation of polygon objects

Solve problem3
2.3 High-level methods – constructive
solid geometry (CSG)



The CSG approach is a powerful high-level tool that is found in
many modelling packages.
It does not manipulate polygons directly but produces polygon
models after the modelling or design phase is complete.
The logic of the shape in this representation is in how the final
shape can be made or represented as a combination of primitive
shapes.
2.3 High-level methods – constructive
solid geometry (CSG)

Motivation


Object representation



Facilitate an interactive mode for solid modelling
Primitives are combined using Boolean set operators and
linear transformations
An object representation is stored as an attributed tree.
Disadvantage


High rendering cost
Limited primitives and operators
2.3 High-level methods – constructive
solid geometry (CSG)

Boolean operations possible
between solids.

Union

Subtraction

Intersection
2.3 High-level methods – constructive
solid geometry (CSG)

CSG tree
2.3 High-level methods – constructive
solid geometry (CSG)

Geometric complex objects
2.4 High-level creation using
modellers/editors


The previous sections described modelling methods that
are commonly embedded in modellers/editors.
Such software will generally contain many high-level
facilities.
2.4 High-level creation using
modellers/editors

Example
2.4 High-level creation using
modellers/editors
2.4 High-level creation using
modellers/editors
Download