© Dr Moudar Zgoul 2010-2011 Non-uniform rational basis spline (NURBS) An Introduction to.

Slides:



Advertisements
Similar presentations
Splines I – Curves and Properties
Advertisements

Lecture Notes #11 Curves and Surfaces II
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
Lecture 10 Curves and Surfaces I
Copyright © Cengage Learning. All rights reserved.
ICS 415 Computer Graphics Bézier Splines (Chapter 8)
© University of Wisconsin, CS559 Spring 2004
Dr. S.M. Malaek Assistant: M. Younesi
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
13 VECTOR FUNCTIONS.
Curves Locus of a point moving with one degree of freedom
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
ENDS 375 Foundations of Visualization Geometric Representation 10/5/04.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
COEN Computer Graphics I
Chapter 10: Curves and Surfaces Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
09/16/02 Dinesh Manocha, COMP258 Surfaces Locally a 2D manifold: i.e. approximating a plane in the ngbd. of each point. A 2-parameter family of points.
Parts of Mortenson Chapter 6-9,
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
VECTORS AND THE GEOMETRY OF SPACE 12. VECTORS AND THE GEOMETRY OF SPACE A line in the xy-plane is determined when a point on the line and the direction.
DEPARTMENT OF MATHEMATI CS [ YEAR OF ESTABLISHMENT – 1997 ] DEPARTMENT OF MATHEMATICS, CVRCE.
Computer Graphics Lecture 13 Curves and Surfaces I.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Curve Modeling Bézier Curves
Bresenham’s Algorithm. Line Drawing Reference: Edward Angel’s book: –6 th Ed. Sections 6.8 and 6.9 Assuming: –Clipped (to fall within the window) –2D.
Curves and Surfaces CSE3AGR - Paul Taylor Polynomials of Degree n Degree is equal to the highest exponent of a term. Higher exponents result in.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
V. Space Curves Types of curves Explicit Implicit Parametric.
Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Intelligent Engineering Systems Lecture 3. Description.
Introduction to Computer Graphics with WebGL
Numerical Computation
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
CS 376 Introduction to Computer Graphics 04 / 20 / 2007 Instructor: Michael Eckmann.
Linear Interpolation (for curve 01).  This chapter discusses straight lines and flat surfaces that are defined by points.  The application of these.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
ME 2304: 3D Geometry & Vector Calculus
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
Computing & Information Sciences Kansas State University Lecture 31 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 32 of 42 Wednesday, 11.
11/26/02(C) University of Wisconsin Last Time BSplines.
(c) 2002 University of Wisconsin
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Chapter 8 Engineering Geometry
CS 325 Computer Graphics 04 / 30 / 2010 Instructor: Michael Eckmann.
Copyright © Cengage Learning. All rights reserved. 16 Vector Calculus.
Ship Computer Aided Design
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
11 Vector-Valued Functions VECTOR-VALUED FUNCTIONS 11.2
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
CS5500 Computer Graphics May 11, 2006
Curve & Surface.
Representation of Curves & Surfaces
Chapter 10-2: Curves.
Basic theory of curve and surface
© University of Wisconsin, CS559 Fall 2004
CURVES CAD/CAM/CAE.
Curves and Surfaces.
UNIT-5 Curves and Surfaces.
Three-Dimensional Object Representation
Introduction to Parametric Curve and Surface Modeling
Type to enter a caption. Computer Graphics Week 10 Lecture 1.
Presentation transcript:

© Dr Moudar Zgoul Non-uniform rational basis spline (NURBS) An Introduction to

Non-uniform rational basis spline (NURBS) It’s is a mathematical model commonly used in computer graphics for generating and representing curves and surfaces which offers great flexibility and precision for handling both analytic and freeform shapes.

Development of NURBS began in the 1950s by engineers who were in need of a mathematically precise representation of freeform surfaces like those used for ship hulls, aerospace exterior surfaces, and car bodies, which could be exactly reproduced whenever technically needed.

Freeform surface, or freeform surfacing, is used in CAD and other computer graphics software to describe the skin of a 3D geometric element. Freeform surfaces do not have rigid radial dimensions, unlike regular surfaces such as planes, cylinders and conic surfaces. They are used to describe forms such as turbine blades, car bodies and boat hulls.

The forms of freeform surfaces (and curves) are not stored or defined in CAD software in terms of polynomial equations, but by their poles, degree, and number of patches (segments with spline curves).

The degree of a surface determines its mathematical properties, and can be seen as representing the shape by a polynomial with variables to the power of the degree value. For example, a surface with a degree of 1 would be a flat cross section surface. A surface with degree 2 would be curved in one direction, while a degree 3 surface could (but does not necessarily) change once from concave to convex curvature. Some CAD systems use the term order instead of degree.

The pioneers of this development were Engineers at Renault, and Citroën. At first NURBS were only used in the proprietary CAD packages of car companies. Later they became part of standard computer graphics packages. Real-time, interactive rendering of NURBS curves and surfaces was first made available on Silicon Graphics workstations in In 1993, the first interactive NURBS modeller for PCs, called NöRBS, was developed by a small startup company cooperating with the Technical University of Berlin.

Today most professional computer graphics applications available for desktop use offer NURBS technology, which is most often realized by integrating a NURBS engine from a specialized company. NURBS are commonly used in computer-aided design (CAD), manufacturing (CAM), and engineering (CAE) and are part of numerous industry wide used standards, such as IGES, STEP, ACIS, and PHIGS

To fully exploit the flexibility of NURBS, a thorough working knowledge of the underpinning mathematics is necessary. Frequently, NURBS are considered a very mathematical subject beyond the means of many working professionals and students.

Curves and surfaces description in general Curves and surfaces are mathematically represented either explicitly, implicitly or parametrically. Explicit representations of the form y = f(x), although useful in many applications, are axis dependent, cannot adequately represent multiple-valued functions, and cannot be used where a constraint involves an infinite derivative. Hence, they are little used in computer graphics or computer aided design.

Curves and surfaces description in general Implicit representations of the form: f(x, y) = 0 and f(x, y, z) = 0 for curves and surfaces, respectively, are capable of representing multiple-valued functions but are still axis dependent. However, they have a variety of uses in computer graphics and computer aided design.

Parametric Curves and surfaces Parametric curve representations of the form x- f(t); y- g(t); z- h(t) where t is the parameter, are extremely flexible. They are axis independent, easily represent multiple- valued functions and infinite derivatives, and have additional degrees of freedom compared to either explicit or implicit formulations.

Parametric Curves and surfaces Consider the explicit cubic equation y - ax 3 + bx 2 + cx + d Here, four degrees of freedom exist, one for each of the four constant coefficients a, b, c, d. Rewriting this equation in parametric form, we have

Parametric Curves and surfaces Here, eight degrees of freedom exist, one for each of the eight constant coefficients: α, β, γ, δ and α, β, γ, δ. Although not necessary, the parameter range is frequently normalized to 0 ≤ t ≤ 1. __ __

Parametric Curves and surfaces The derivative of y with respect to x is given by where, for example, from the equation above we have

Parametric Curves and surfaces The derivative is infinite when the denominator is zero. Note that simply testing if the denominator is zero shows that the derivative is infinite. Conversely, setting the denominator to zero imposes the constraint of an infinite derivative. One example is the requirement that the derivative be infinite for a circular arc tangent to a vertical edge.

Extension to Three Dimensions The parametric form easily extends to three dimensions (or more) by specifying z = z(t), where again t is the parameter. An example of a simple three-dimensional parametric space curve is the circular helix shown. The circular helix is represented by the parametric equations: x(t) - r cos t; y(t) - r sin t; z(t) - bt

Extension to Three Dimensions x(t) - r cos t; y(t) - r sin t; z(t) - bt or any point on the helix is given by the vector-valued function, i.e., the function has x, y, z components. Thus, we write P(t) = [ x(t) y(t) z(t) ] = [ r cos t rsint bt ] for r and b ≠ 0 and - ∞ ≤ t ≤ ∞. This curve lies on the surface of a right circular cylinder of radius Irl.

Extension to Three Dimensions x(t) - r cos t; y(t) - r sin t; z(t) - bt The effect of the equation z = bt is to move the points of the curve infinitely in the z direction. After each 2π interval in the parameter t, the variables x and y return to their initial values; but z increases or decreases by 2 π lbl, depending upon the sign of b. This change in z is called the pitch of the helix.

Parametric Line The simplest 'curve' is a straight line. The general parametric equation for a straight line segment is P(t) = P1 + (P2 - P1)t 0 ≤ t ≤ 1 where P1 and P2 are vector-valued functions typically called position vectors and t is the parameter. A position vector has components in some coordinate system.

Parametric Line The values of the components are specified with respect to the origin of the coordinate system. The position vector in row matrix form as P [x y z] or P= [x y z] or even just [x y z]. The origin of a typical Cartesian coordinate system is P[0 0 0] or P = [0 0 0] or [0 0 0].

Parametric Line Each component of the position vector also has a parametric representation: x(t) = x1 + (x2 - x1)t 0 ≤ t ≤ 1 y(t) = y1 + (y2 - y1)t 0 ≤ t ≤ 1 z(t) = z1 + (z2 - z1)t 0 ≤ t ≤ 1

Example Determine the parametric representation for the line segment between the position vectors P1[x1=1 y1=1 z1=1] and P2[x2=20.1 y2=5.6 z2=10.8]. Calculate the point on the line halfway between P1 and P2.

Example P1[1 1 1] P2[ ] Performing the subtraction of the components of P1 and P2 yields: P(t)= [1 1 1] + [ ]t Because this is a straight line and the parameterization is linear the midpoint of the line occurs for a parameter value t= 1/2.

Example P(½) = [1 1 1] + ½[ ] = [ ] Recalling that each component of the position vector also has a parametric representation, we have x(t) = 1 + ( )t = t y(t) = 1+ ( )t = t z(t) = 1 + ( ) t = t and for t = 1/2 we have x(t) = 1 + 1/2(19.1) = y(t) = 1 + 1/2(4.6) = 3.3 z(t) = 1 + 1/2(9.8) = 5.9

Reparameterization Reparameterize the line segment defined earlier to the range 0-2. let the new parameter be u. The conditions or constraints on the new parameter are t = 0 u = 0 ; t = 1 u=2 Assuming a linear form of the reparameterization function, i.e. u=a+bt and imposing the constraints yields u=2 t ≤ t ≤ 1 Thus, the new equation of the line segment is P(u) + 1/2(P2 - P1)u 0 ≤ u ≤ 2

Parametric Surfaces x=x(u,w) y=y(u,w) z=z(u,w)