47
Topology and Geometry Basics Andrey Dankevich June 2010

CAD Topology and Geometry Basics

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: CAD Topology and Geometry Basics

Topology and Geometry Basics

Andrey Dankevich

June 2010

Page 2: CAD Topology and Geometry Basics

Agenda

CAGD Topology

CAGD Geometry

Parametric curves and surfaces

Bezier curves, B-Splines, NURBS

Page 3: CAD Topology and Geometry Basics

Introduction B-Rep is a method for representing shapes using the limits.

B-Rep models are composed of two parts:

Topology describes how elements are bounded and connected.

Geometry describes the shape of each individual element.c

Page 4: CAD Topology and Geometry Basics
Page 5: CAD Topology and Geometry Basics

Topology

Page 6: CAD Topology and Geometry Basics

Topology is a branch of mathematics concerned with spatial properties preserved under continuous deformation (stretching without tearing or gluing); these properties are the topological invariants.

On its own, topology defines a "rubber" model.

Page 7: CAD Topology and Geometry Basics

Topological entities

Topological entities comprise all the entities that are used to construct the structure or skeleton of a model.

Page 8: CAD Topology and Geometry Basics

Bodies body is the highest level topological entity.

When we construct models we will create bodies, rather than stand-alone lower topological entities.

A body is composed of one or more components, where a component is a set of connected entities.

Page 9: CAD Topology and Geometry Basics

Bodies Type Dim Description

Acorn 0 An isolated vertex.

Wire 1 A set of connected edges.

Sheet 2 A set of connected faces.

Solid 3 A solid region.

General 0, 1, 2, 3,

Or mixed

A connected set of: regions, faces, edges, vertices

Page 10: CAD Topology and Geometry Basics

Manifold bodies A manifold is a mathematical

term for an object that locally resembles a line, a plane, or a space.

Euler equation:

v – e + f – h = 2(s – p), v – vertices; h – hole loops; e – edges; s – shells; f – faces; p – passages.

Page 11: CAD Topology and Geometry Basics

Shell - is a connected collection of oriented faces (each used by the shell on one or both sides of the face) and edges.

Page 12: CAD Topology and Geometry Basics

Face - is a bounded subset of a surface, whose boundary is a collection of zero or more loops.

Page 13: CAD Topology and Geometry Basics

Loop - represents a connected portion of the boundary of a face. It consists of a chain of coedges (fins).

Page 14: CAD Topology and Geometry Basics

Fin (coedge) - represents the oriented use of an edge by a loop.

A fin has logical ‘sense’ indicating whether the fin’s orientation, and therefore the orientation of its owning loop, is the same as its owning edge.

Page 15: CAD Topology and Geometry Basics

Edge - is a bounded piece of a single curve.

Its boundary is a collection of zero, one or two vertices.

Each edge contains a record of its sense relative to its underlying curve.

Page 16: CAD Topology and Geometry Basics

Vertex - represents a point in space.

Page 17: CAD Topology and Geometry Basics

Topology traversal

Page 18: CAD Topology and Geometry Basics

Topological entities

Page 19: CAD Topology and Geometry Basics

Geometry

Page 20: CAD Topology and Geometry Basics

Point point is a zero-dimensional object that represents a location or

position in a given space.

A point that resides in a one-dimensional space (that is, it resides on the real line) is often called a parameter.

A point that resides in a two-dimensional space defining the domain of a parametrically defined surface is often termed a parametric location or a parametric position.

A point that resides in the three-dimensional object space is often called a point, a location, or a position.

Page 21: CAD Topology and Geometry Basics

Curve Curves are 1-dimensional, in the sense that for parametric curves

you need a single parameter to obtain a point on the curve;

The parameter of the curve is u;

Each curve maps a single parameter value u into a 3-dimensional point (x,y,z);

Page 22: CAD Topology and Geometry Basics

Surface surface is two-dimensional manifold in a three-dimensional space,

with a single geometrical definition.

A parametric surface maps a rectangle defined within a 2D real vector space (called parameter space) into a 3D real vector space (often called object space)

Page 23: CAD Topology and Geometry Basics

Natural surface normals

Surface Natural orientation

plane along its plane normal

cylinder away from its axis

cone away from its axis

sphere away from its center

torus away from the circle described

by its major axis

Page 24: CAD Topology and Geometry Basics

Continuity Continuity is a measure of the smoothness of a curve or surface.

Parametric continuity, denoted by Cn, describes the maximum derivative of a parametric equation that is continuous.

Geometric continuity, denoted by Gn, is a geometric property describing the smoothness of a that is independent of parameterization.

G0 curve or surface is positionally continuous.

A G1 curve or surface has continuous tangent directions, although the magnitude of tangent vectors may not be continuous.

A G2 curve has a continuous radius of curvature.

Page 25: CAD Topology and Geometry Basics

A G2 Surface

Page 26: CAD Topology and Geometry Basics

A Surface with a Non-G2 Discontinuity

Page 27: CAD Topology and Geometry Basics

A Surface with a Non-G1 Discontinuity

Page 28: CAD Topology and Geometry Basics

A Surface with a Non-G0 Discontinuity

Page 29: CAD Topology and Geometry Basics

Parametric curves and surfaces

Page 30: CAD Topology and Geometry Basics

Implicit and parametric forms f(x,y) = 0 – implicit curve.

– f(x,y) = x2 + y2 – 1 = 0 – a unit circle at origin.

C ( u ) = ( x(u), y(u) ), a ≤ u ≤ b.

– C(u) = ( cos(u), sin(u) ), 0 ≤ u ≤ π/2.

f(x,y,z) = 0 – implicit surface.

– f(x,y) = x2 + y2 + z2 – 1 = 0 – a unit sphere.

S ( u, v ) = ( x(u, v), y(u, v), z(u, v) ), a ≤ u ≤ b.

– x(u,v) = sin(u)cos(v)

– y(u,v) = sin(u)sin(v)

– z(u,v) = cos(u); 0 ≤ u ≤ π; 0 ≤ v ≤ 2π.

Page 31: CAD Topology and Geometry Basics
Page 32: CAD Topology and Geometry Basics

Coordinate system dependent/independent, the parametric equations are also vector equations and hence the coord sys independence

Given a point determine if its on the curve or surface easy in the implicit case difficult in the parametric case

Generating points on the curve or surface easy in the parametric case, difficult in the implicit case.

Notion of order in parametric equations, you can generate an ordered set of points on the curve. The tangent direction is the direction of increasing parameter values.

Page 33: CAD Topology and Geometry Basics

Line Data:

– P0 – start point,

– P1 – end point.

Parametrization:

– C ( u ) = ( 1 – u ) * P0 + u * P1.

Page 34: CAD Topology and Geometry Basics

Arc The arc is centered at the origin, and is parameterized by the angle of rotation from the first plane

unit vector in the direction of the second plane vector.

Data:

– V1[3] - First vector that defines the plane of the arc;

– V2[3] - Second vector that defines the plane of the arc;

– Origin[3] - Origin that defines the plane of the arc;

– start_angle - Angular parameter of the starting point;

– end_angle - Angular parameter of the ending point;

– Radius - Radius of the arc.

Parametrization:

– u' (the unnormalised parameter) = (1 - u) * start_angle + u * end_angle;

– C(u) = radius * [cos(u') * V1 + sin(u') * V2] + origin.

Page 35: CAD Topology and Geometry Basics

Plane The plane entity consists of two perpendicular unit vectors (e1 and e2), the normal to the plane

(e3), and the origin of the plane.

Data:

– E1[3] - Unit vector, in the u direction;

– E2[3] - Unit vector, in the v direction;

– E3[3] - Normal to the plane;

– Origin[3] - Origin of the plane.

Parametrization:

– S(u,v) = u * e1 + v * e2 + origin

Page 36: CAD Topology and Geometry Basics

Cylinder The generating curve of a cylinder is a line, parallel to the axis, at a distance R from the axis. The

radial distance of a point is constant, and the height of the point is v.

Data:

– E1[3] - Unit vector, in the u direction;

– E2[3] - Unit vector, in the v direction;

– E3[3] - Normal to the plane;

– Origin[3] - Origin of the plane.

– Radius - Radius of the cylinder.

Parametrization:

– S(u,v) = radius * [cos(u) * e1 + sin(u) * e2] + v * e3 + origin.

Page 37: CAD Topology and Geometry Basics

Bezier curves, B-Splines, NURBS

Page 38: CAD Topology and Geometry Basics

Spline “hierarchy”

Page 39: CAD Topology and Geometry Basics

Bezier curve - A special form of a polynominal curve.

Given n+1 points P0, P1, P2, ... and Pn in space, the control points, the Bézier curve defined by these control points is

the point that corresponds to u on the Bézier curve is the "weighted" average of all control points, where the weights are the coefficients Bn,i(u).

Page 40: CAD Topology and Geometry Basics

Examination of cases - Linear Bézier curves

- Quadratic Bézier curves

- Cubic Bézier curves

Page 41: CAD Topology and Geometry Basics

Properties of a Bézier curve All basis functions are non-negative.

The sum of the basis functions at a fixed u is 1

The degree of a curve is number of control points - 1

Open curves always pass through first and last point.

Tangent at first point is given by the direction of the first segment of control polygon.

the same curve (and properties) exist when starting with the last control point.

Convex hull property.

Variation Diminishing property.

Affine Invariance.

Page 42: CAD Topology and Geometry Basics

De Casteljau's Algorithm Choose a point C in line segment AB such that C divides the line

segment AB in a ratio of u:1-u. i.e. C = (1 - u)A + uB

Page 43: CAD Topology and Geometry Basics

Constructing Bézier curves

Page 44: CAD Topology and Geometry Basics

Limitations of Bézier curves More complicated shapes require higher order Bezier curves.

Bézier curves can not be modified “locally”. Movement of any control point will affect the whole curve.

Page 45: CAD Topology and Geometry Basics

Basic spline curves Instead of considering EVERY control point when evaluating a

point, only consider closest k.

The B-spline curve is composed of segments, each of degree k-1.

Page 46: CAD Topology and Geometry Basics

Basic spline equation Bézier basis functions are used as weights. B-spline basis functions

will be used the same way; however, they are much more complex

Page 47: CAD Topology and Geometry Basics

Basic spline data Multiple segments:

Order = k

Number of control points = n

Number of knots = n + k

Knot vector, eg {0, 1, 2, 3, 4, 5, 7, 8}

Number of segments:

n-k+2 for open curves

n-k+1 for closed curves