This document discusses techniques for modeling curves and surfaces in computer graphics. It introduces three common representations of curves and surfaces: explicit, implicit, and parametric forms. It focuses on parametric polynomial forms, specifically discussing cubic polynomial curves, Hermite curves, Bezier curves, B-splines, and NURBS. It also covers rendering curves and surfaces by evaluating polynomials, recursive subdivision of Bezier polynomials, and ray casting for implicit surfaces like quadrics. Finally, it discusses mesh subdivision techniques like Catmull-Clark and Loop subdivision for generating smooth surfaces.
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
Curves and surfaces
1. Curves and Surface
Alzaiem Alazhari University
College of computer Science and Information Technology
Chapter 10 – Advanced Computer Graphics
1
2. Curves and Surface
The world around us is full of objects of remarkable
shapes.
Nevertheless, in computer graphics, we continue to
populate our virtual worlds with flat objects.
We have a good reason for such persistence.
Graphics systems can render flat three-dimensional
polygons at high rates, including doing hidden-surface
removal, shading, and texture mapping..
2
3. Curves and Surface
We introduce three ways to model curves and
surfaces, paying most attention to the parametric
polynomial forms.
We also discuss how curves and surfaces can be
rendered on current graphics systems, a process
that usually involves subdividing the curved
objects into collections of flat primitives.
3
5. REPRESENTATION OF CURVES AND SURFACES
Explicit Representation
The explicit form of a curve in two dimensions
gives the value of one variable,
the dependent variable,
in terms of the other,
the independent variable.
In x, y space, we might write y = f (x).
a surface represented by an equation of the
form z = f (x, y)
5
6. REPRESENTATION OF CURVES AND SURFACES
Implicit Representations
In two dimensions, an implicit curve can be represented
by the equation f (x, y) = 0
The implicit form is less coordinate-system dependent
than is the explicit form.
In three dimensions, the implicit form f (x, y, z) = 0
Curves in three dimensions are not as easily
represented in implicit form.
We can represent a curve as the intersection, if it
exists, of the two surfaces: f (x, y, z) = 0, g(x, y, z) = 0.
6
7. REPRESENTATION OF CURVES AND SURFACES
Parametric Form
The parametric form of a curve expresses the value of each spatial
variable for points on the curve in terms of an independent variable, u, the
parameter. In three dimensions, we have three explicit functions:
x = x(u) , y = y(u) , z = z(u).
One of the advantages of the parametric form is that it is the same in two
and three dimensions. In the former case, we simply drop the equation for
z.
Parametric surfaces require two parameters. We can describe a surface
by three equations of the form : x = x(u, v) , y = y(u, v) , z = z(u, v),
7
9. DESIGN CRITERIA
There are many considerations that determine why
we prefer to use parametric polynomials of low
degree, including:
Local control of shape
Smoothness and continuity
Ability to evaluate derivatives
Stability
Ease of rendering
9
11. PARAMETRIC CUBIC POLYNOMIAL CURVES
Once we have decided to use parametric polynomial
curves, we must choose the degree of the curve.
if we choose a high degree, we will have many
parameters that we can set to form the desired shape,
but evaluation of points on the curve will be costly.
In addition, as the degree of a polynomial curve becomes
higher, there is more danger that the curve will become
rougher.
On the other hand, if we pick too low a degree, we may
not have enough parameters with which to work.
11
12. PARAMETRIC CUBIC POLYNOMIAL CURVES
However, if we design each curve segment over a short
interval, we can achieve many of our purposes with low-
degree curves.
Although there may be only a few degrees of freedom
these few may be sufficient to allow us to produce the
desired shape in a small region. For this reason, most
designers, at least initially, work with cubic polynomial
curves
12
13. Cubic interpolating polynomial
• First example of a cubic parametric polynomial.
• Although we rarely used
• Illustrates the steps we must follow for our other types .
13
14. Interpolating Curve
• Given 4 control points P0, P1, P2, P3
• Space 0 <= u <= 1 evenly
• P0 = P(0), P1 = P(1/3), P2 = P(2/3), P3 = P(1)
14
22. Bezier Curves
Widely used in computer graphics
Approximate tangents by using control points
22
23. Analysis Bezier form
Is much better than the interpolating form
But the derivatives are not continuous at join points
What shall we do to solve this ?
23
24. B-Splines
Basis Splines
Allows us to apply more continuity
the curve must lie in the convex hull of the control points
24
25. Spline Surfaces
B-spline surfaces can be defined in a similar way
25
26. GENERAL B-SPLINES
We can extend to splines of any degree
Data and conditions to not have to given at equally
spaced values (the knots)
Nonuniform and uniform splines
Can have repeated knots
Cox-deBoor recursion gives method of evaluation
26
27. NURBS
Nonuniform Rational B-Spline curves and surfaces add a
fourth variable w to x,y,z
Can interpret as weight to give more importance to some
control data
Can also interpret as moving to homogeneous coordinate
Requires a perspective division
NURBS act correctly for perspective viewing
Quadrics are a special case of NURBS
27
28. Rendering Curves and Surfaces
Introduce methods to draw curves
For explicit and parametric: we can evaluate the curve or
surface at a sufficient number of points that we can
approximate it with our standard flat objects
For implicit surfaces: we can compute points on the
object that are the intersection of rays from the center of
projection through pixels with the object
28
29. Evaluating Polynomials
Simplest method to render a polynomial curve is to
evaluate the polynomial at many points and form an
approximating polyline
For surfaces we can form an approximating mesh of
triangles or quadrilaterals
Use Horner’s method to evaluate polynomials
p(u)=c0+u(c1+u(c2+uc3))
29
30. Recursive Subdivision of Be´zier Polynomials
The most elegant rendering method performs
based on the use of the convex hull الهياكل المحدبة
never requires explicit evaluation of the polynomial ال يتطلب
عرض واضح لكثيرة الحدود
30
31. THE UTAH TEAPOT
Most famous data set in computer graphics
Widely available as a list of 306 3D vertices and the
indices that define 32 Bezier patches
31
32. THE UTAH TEAPOT - con
We can shows the teapot as a wireframe and with
constant shading
32
33. ALGEBRAIC SURFACES - Quadrics
Although quadrics can be generated as special case of
NURBS curves
Quadrics are described by implicit algebraic equations
Quadric can be written in the form :
33
34. Quadrics
This class of surfaces includes ellipsoids, parabaloids, and
hyperboloids
We can write the general equation
34
35. Rendering of Surfaces by Ray Casting
Quadrics are easy to render
we can find the intersection of a quadric with a ray by
solving a scalar quadratic equation
We represent the ray from p0 in the direction d
parametrically as
scalar equation for α:
35
37. Mesh Subdivision
A theory of subdivision surfaces has emerged that
deals with both the theoretical and practical aspects of
these ideas.
We have two type of meshes:
triangles meshes.
quadrilaterals meshes.
37
39. Meshes methods
Catmull Clark method: use to form a quadrilateral mesh.
produces a smoother surface
This method tends to move edge vertices at corners
more than other outer vertices.
39
44. Seminar Team:
Theoretical :
Mawada Sayed Mohammed Mohammed
Mohammed Mahmoud Ibrahim Musa
Hams Ibrahim Mohammed Idris
Abdallah Ahmed Modawi Mohammed
Ethar Abasher Musa Hamad
Practical :
Mujahid Ahmed Mohammed Babeker
Eltayb Babeker Mohammed Ahmed
Salah Eldeen Mohammed Ismail Ibrahim
44