Geometric Modelling & Curves Geometric Modeling Creating symbolic models of the physical world has long been a goal of mathematicians, scientists, engineers, etc. Recently technology has advanced sufficiently to make computer modeling of physical geometry feasible. 1
Modelers for Engineering Modeling for engineering applications require higher accuracy of representation. Engineering models are used in computer-based design, manufacturing and analysis. Geometric modeling simply means that design concepts are digitally inputted into software subsequently displays them in either 2-D or 3-D forms. a general term applied to 3-D computer-aided design techniques. Geometric models are computational (symbol) structures that capture the spatial aspects of the objects of interest for an application. 2
Geometric model = Geometry Topology Feature model = Geometric model Design intent Design intent = Constraints Rules 5 Components of geometric modeling system B-rep, CSG 6 3
What is Geometric modeling? The process of constructing a complete mathematical description (geometric database) to model a physical entity or system. Geometric Modeling GM is a general term applied to 3D computeraided design techniques. There are three main types of geometrical modelling used, namely: line or wireframe modelling, surface modelling, solid modelling. 4
How does geometric modeling fit into a modern design sequence? Computer-based geometric modeling is used to: visualize, analyze, document, produce a product or process. Geometric modeling Stress Analysis Engineering Analysis Geometric modeling Thermal Analysis After-life Analysis Geometric modeling is a basic engineering tool. Visualization Design Process Production planning Engineering drawing CNC programming Serves as the backbone of design Shadows the design process 5
Geometric modeling produce an appropriate database used for input into specialized engineering software tools to perform tasks in an integrated design sequence. support the move to a seamless work environment where the flow of data is continuous and need not recreated at each stage of design development. Geometric modeling 6
Shape modeling Reconstruction Feature Analysis Simplification Mesh generation Curve Shape Surface Medial axis Segmentation Dimension detection Sample Mesh Surface Volume Geometry A typical solid model is defined by volumes, areas, lines, and keypoints. Volumes are bounded by areas. They represent solid objects. Areas are bounded by lines. They represent faces of solid objects, or planar or shell objects. Lines are bounded by keypoints. They represent edges of objects. Keypoints are locations in 3-D space. They represent vertices of objects. Volumes Areas Lines & Keypoints 7
...Geometry - Preprocessing There is a built-in hierarchy among solid model entities. Keypoints are the foundation entities. Lines are built from the keypoints, areas from lines, and volumes from areas. This hierarchy holds true regardless of how the solid model is created. not allow you to delete or modify a lower-order entity if it is attached to a higher-order entity. (Certain types of modifications are allowed discussed later.) Volumes Areas Lines Keypoints I ll just change this line Volumes Areas Lines Keypoints OOPs! Lines Keypoints Areas Mathematical Representation of Curves The user constructs a geometric model of an object on a CAD/CAM system by inputting the object data as required by the modeling technique via user interface. The software converts such data into a mathematical representation. 8
Mathematical Representation of Curves Geometric modeling to CAD/CAM is important; it is a mean to enable useful engineering analyses and judgment. In computer-based modeling and analysis, geometric models determine their relevance to design, analysis and manufacturing. Mathematical Representation of Curves Methods of defining points Explicit methods Implicit methods Absolute cartesian coordinates A digitize d Y P(x,y,z) d X Z Absolute cylindrical coordinates R P(R,,z) E 1 E 2 E 1, E 2 E 2 E 1 E 1 E 2 9
Mathematical Representation of Curves Methods of defining points Explicit methods Implicit methods Incremental cartesian coordinates Δz P 1 (xδx,yδy,z-δz) Y C Δx Δy P 0 (x,y,z) X Z Incremental cylindrical coordinates P 1 (RΔR, Δ,z) ΔR Δ R P 0 (R,,z) I 1 C I 2 C Mathematical Representation of Curves Methods of defining lines Methods Points defined by any method Illustration Incremental cylindrical coordinates Y w X w Z w 10
Mathematical Representation of Curves Methods of defining lines Methods Parallel or perpendical to an existing line Illustration Tangent to existing entities Mathematical Representation of Curves Methods of defining arcs and circles Methods Radius or diameter and center Illustration R R 2 1 Three points defined by any method 11
Mathematical Representation of Curves Methods of defining arcs and circles Methods Center and a point on the circle Tangent to line, pass through a given point, and with a given radius Illustration 2 1 R Mathematical Representation of Curves Methods of defining ellipses Methods Center and axes lengths Four points A B P c Illustration Two conjugate diameters 12
Mathematical Representation of Curves Methods of defining parabolas Methods Vertex and focus Illustration Three points P 1 P v P 2 Mathematical Representation of Curves Methods of defining synthetic curves Methods Cubic spline Bezier curves B-Spline curves P 0 P 0 P 0 Illustration P n P n P n Approximate a given set of data points Interpolate a given set of data points 13
Curve Representation All forms of geometric modeling require the ability to define curves. Linear curves (1 st order) may be defined simply through their endpoints. Must have a means for the representation for curves of a higher order: conics free form or space curves Curve Representation Some terms we will use: Tangent vector: Vector tangent to the slope of a curve at a given point. Normal vector : Vector perpendicular to the slope of a curve at a given point. 14
Parametric curves; Non-parametric and parametric forms Analytical representations of curves Parabola: y = b x 2 C Ellipse: x 2 /a 2 y 2 /b 2 = 1 Hyperbola: x y = k Implicit form: f (x, y) = 0 Explicit form: y = f (x) hard to represent multi-valued function Analytical representations Analytical forms are not suitable for CAD because; Equation is dependent on coordinate sys. Curves are unbounded Implicit form is inconvenient for finding points on the curve Difficult for transformation (rotation, pan) 15
Curve Representation Curves may be defined using different equation formats. explicit Y = f(x), Z = g(x) implicit f(x,y,z) = 0 parametric X = X(t), Y = Y(t), Z = Z(t) The explicit and implicit formats have serious disadvantages for use in computer-based modeling Parametric form Equations are de-coupled x = f (u) Matrix form: p (u) = [ u 3 u 2 u 1 ] [ A ] 16
Curve Representation Parametric: X = X(t), Y = Y(t), Z = Z(t); 0 t 1 (typ) Substituting a value for t gives a corresponding position along curve Overcomes problems associated with implicit and explicit methods Most commonly used representation scheme in modelers Parametric example Recall the parametric line representation Parametric representation of a line. The parameter u, is varied from 0 to 1 to define all points along the line. X = X(u) Y = Y(u) P 2 u P 1 17
Parametric Line Line defined in terms of its endpoints Positions along the line are based upon the parameter value For example, the midpoint of a line occurs at u = 0.5 Parametric Line This means a parametric line can be defined by: L(u) = [x(u), y(u), z(u)] = A (B - A)u where A and B and the line endpoints. e.g. A line from point A = (2,4,1) to point B = (7,5,5) can be represented as: x(u) = 2 (7-2)u = 2 5u y(u) = 4 (5-4)u = 4 u z(u) = 1 (5-1)u = 1 4u 18
Parametric cubic curves Algebraic form Geometric form: blending fn * geometric (boundary) conditions Blending function: p (u) = [ F 1 F 2 F 3 F 4 ] [ p(0), p(1), p u (0), p u (1) ] Magnitude and direction of tangent vectors Cubic Hermite blending function Boundary conditions 19
Blending functions Parametric definition Expanding the 2D parametric technique we used for a line to 3D, two parameters (u and v) are used. P 4 P 2 P 3 u P 1 v 20
Parametric definition Points along edge P 1 P 2 have the form of P(u,0), along P 3 P 4, P(u,1) and so on. P 4 P(1,v) P(u,1) P 2 P 3 P(u,0) u P 1 v P(0,v) Parametric definition By varying value of u and v, any point on the surface or the edge of the face may be defined. P 2 P 4 (u 1,v 1 ) P 3 u P 1 v 21
Parametric definition Another basic example would be that of a conic (circle) Two parameter curves are : X = cos (u) Y = sin (u) with range π/4 u π/4 Parametric definition Cos(u) Sin (u) π/4 π/4 π/4 π/4 Graph of X = cos (u) Graph of Y = sin (u) 22
Parametric definition Y u = π/4 X 0 1 u = π/4 Combined curve is a quarter circle Parametric definition Controls for this curve Shape (based upon parametric equation) Location (based upon center point) Size arc (based upon parameter range) radius ( a coefficient to unit value) Similar list could be formed for other conics 23
Curve Use in Design Engineering design requires ability to express complex curve shapes (beyond conics). examples are the bounding curves for: turbine blades ship hulls automotive body panels also curves of intersection between surfaces Representing Complex Curves Typically represented a series of simpler curves (each defined by a single equation) pieced together at their endpoints (piecewise construction). Simpler curves may be linear or polynomial Equations for simpler curves based upon control points (data pts. used to define the curve) 24
Use of control points General curve shape may be generated using methods of: Interpolation (also known as Curve fitting ) curve will pass though control points Approximation curve will pass near control points may interpolate the start and end points Control Points Defining Curves The following example shows an: Interpolating (passes through control points) Piecewise linear curve curve defined by multiple segments, in this case linear 25
Interpolating Curve Piecewise linear Linear segments used to approximate smooth shape Segments joints known as KNOTS Requires too many datapoints for most shape approximations Representation not flexible enough to editing Piecewise linear Piecewise polynomial (composite curves) Segments defined by polynomial functions Again, segments join at KNOTS Most common polynomial used is cubic (3 rd order) Segment shape controlled by two or more adjacent control points. Piecewise linear Interpolation curve (cubic) 26
Knot points Locations where segments join referred to as knots Knots may or may not coincide with control points in interpolating curves, typically they DO NOT coincide. Curve continuity concern is continuity at knots (where curve segments join) continuity conditions: point continuity (no slope or curvature restriction) tangent continuity (same slope at knot) curvature continuity (same slope and curvature at knot) 27
Piecewise curves Curve segments Composite curves Continuity conditions Continuity is symbolically represented by capital C with a superscript representing level. Curve continuity C 0 continuity, point/position continuity continuity of endpoint only, or continuity of position C 1 continuity, tangent continuity tangent continuity or first derivative of position C 2 continuity, curvature continuity: Hydrodynamic character, Light reflection curvature continuity or second derivative of position 28
Composite curves: continuity Point continuity Tangent continuity Curvature continuity Interpolation curves Interpolating piecewise polynomial curve Typically possess curvature continuity Shape defined by: endpoint and control point location tangent vectors at knots* curvature at knots* *often calculated internally by software 29
Approximation techniques Developed to permit greater design flexibility in the generation of freeform curves. Two very common methods in modern CAD systems, Bezier and B-Spline. Approximation techniques employ control points (set of vertices that approximate the curve) curves do not pass directly through points (except possibly at start and end) intermediate points affect shape as if exerting a pull on the curve allow user to to set shape by pulling out curve using control point location 30
Curves Both Bézier curves and B-splines are polynomial parametric curves. Polynomial parametric forms can not represent some simple curves such as circles. Bézier curves and B-splines are generalized to rational Bézier curves and Non-Uniform Rational B-splines, or NURBS for short. Rational Bézier curves are more powerful than Bézier curves since the former now can represent circles and ellipses. Similarly, NURBS are more powerful than B-splines. Continuity The relationship among these B-spline NURBS Bezier Rational Bezier Recursive Subdivision Algorithm Dr. M. Abid (mabid00@hotmail.com) Bezier curves P. Bezier of Renault, P. de Casteljau of Citroen Intuitive interaction: Direct manipulation Approximated curve vs. Interpolated curve Control points 31
Bezier curve defined by 4 pts Pull by coincident control points 32
Closed Bezier curve Influence of point position 33
Bezier curve... Bernstein polynomial B i,n (u) = C(n,i) u i (1-u) n-i Binomial coefficient: Combination Invariant under affine transformation Convex hull property: Straight interval Variation diminishing property Blending fn for a cubic Bezier curve 34
B-spline curves Piecewise Polynomials Approximating Splines B 0,1 B 1,1 B 2,1 B 3,1 B 4,1 B 5,1 B 6,1 B 0,2 B 1,2 B 2,2 B 3,2 B 4,2 B 5,2 B 0,3 B 1,3 B 2,3 B 3,3 B 4,3 B 0,4 B 1,4 B 2,4 B 3,4 NURBS B-Spline Synthetic Curves Analytical curves are insufficient for designing complex machinery parts and, therefore synthetic curves are used. Synthetic curves are commonly used when interpolation curves are needed and it is easy to modify these curves locally. 35
B-Spline Synthetic Curves CAD\CAM systems have got 3 types of synthetic curves such as Hermite cubic splines, Bezier and B-spline curves. Cubic splines are interpolating curves. Bezier and B-splines are approximating curves. On some cases B-splines can be interpolating. B-Spline Synthetic Curves B-spline curves are specified by giving set of coordinates, called control points, which indicates the general shape of the curve. B-splines can be either interpolating or approximating curves. Interpolation splines used for construction and to display the results of engineering. 36
Effect of curve order The higher the order of a curve, the stiffer the curve (less dramatic curvature changes) Maximum curve order dependent upon the number of control points order = one less than the number of control pts High order curves can exhibit irregularities B-Spline Synthetic Curves With (m1) control points, there are always (n=mp-1) basic functions. The basis functions are 1, at the end points of the curve defined as a and b. If there s no other definition, then a=0 and b=1. {P i } the set of the control points forms the control polygon from Figure. P 3 P 2 Control Polygon P 1 B-spline curve N 0,p (a)=1 N n,p (b)=1 P 4 37
B-splines Generalization of Bezier curve Bezier: p(u) = S P B i,n (u) B-spline: p(u) = S P N j,k (u) Basis fn or blending fn is different Local changes Degree of the curve is independent of # of control points Linear, quadratic, cubic B-spline 38
Influence of control point position Blending functions for linear B-spline 39
Quadratic B-spline blending fn (k=3) Non-Uniform Rational,B-splines Most modern CAD systems use the NURB curve representation scheme. NURB stands for Non-Uniform, Rational, B-spline. Uniformity deals with the spacing of control points. Rational functions include a weighting value at each control point for effect of control point. 40
Non-Uniform Rational,B-splines very popular due to their flexibility in curve generation. same mathematical form may be used to represent entire family of curves including: Bezier B-Spline conics NURBS & CAD For years major CAD software has been using NURBS for good surface definition. However, the exchange formats IGES and DXF are more limited - hence, the original model can become somewhat distorted in transfering from one program to another. 41
NURBS & CAD Add that to some inconsistency in how these formats are defined and consider a task like importing the NURBS sphere into a Coons Patch based program. With NURBS it is now possible to represent the geometry the same as the CAD packages represent it internally - so rather than using faulty exchange formats we have partnered with the major CAD vendors and now have a direct link that will pull a model from memory in the CAD program into one of our programs. Rational parametric curves Normal Bezier or B-spline cannot precisely represent conics and circles Homogeneous coordinate P h = (hx, hy, hz, h) NURBS (non-uniform rational B- splines) 84 42
Circular arc as a rational quadratic Bezier 85 43