0% found this document useful (0 votes)
10 views15 pages

Report 7

The document discusses the mathematical and computational aspects of curves, focusing on their definitions, representations, properties, and applications in computer graphics. It covers various types of curve representations, including implicit, parametric, and procedural, as well as techniques for parameterization and continuity. Additionally, it introduces polynomial pieces and splines as effective methods for constructing and manipulating curves, emphasizing the importance of local and global properties in curve analysis.

Uploaded by

miriveranito
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views15 pages

Report 7

The document discusses the mathematical and computational aspects of curves, focusing on their definitions, representations, properties, and applications in computer graphics. It covers various types of curve representations, including implicit, parametric, and procedural, as well as techniques for parameterization and continuity. Additionally, it introduces polynomial pieces and splines as effective methods for constructing and manipulating curves, emphasizing the importance of local and global properties in curve analysis.

Uploaded by

miriveranito
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Report 7

Curves

Miriam de Bengoa Aletta


INDEX

1. Curves

2. Properties

3. Polynomial pieces

4. Putting pieces together

5. Cubics

6. Approximating curves

7. References
Curves
-

A curve can be intuitively thought of as the path traced by a pen over a period of time. While most
often considered in a 2D space (as on paper), curves can also exist in 3D space or even other abstract
spaces. Mathematically, curves can be understood in two primary ways:
As a continuous image of an interval: This defines the curve as the set of points traced over time.
As a continuous map: This describes the curve as a function mapping time to specific points in space.
In this discussion, we focus on the first definition, where the curve is a set of points. A curve is
composed of an infinite number of points, each typically having two neighbors, except endpoints (if
they exist). Some curves may be infinite or closed (forming loops), while others may have distinct
endpoints.
Curves are generally thin and outline shapes rather than filling regions. Although mathematical
constructs like space-filling curves exist, they are outside the scope of this discussion. Instead, we
focus on curves as outlines, useful for representing shapes.
To use curves in computations or graphics, we need a way to represent or "name" them. While some
curves, such as lines or circles, have standard representations, others, known as free-form curves,
can take on arbitrary shapes and are more complex to specify. There are three primary
mathematical representations of curves:
• Implicit Representation:
A curve is defined as the set of points satisfying an equation f(x,y)=0. For example, the circle
defined by x2+y2−1=0. Implicit functions are scalar functions that return a single real value.
• Parametric Representation:
A curve is defined as a function mapping a parameter (e.g., time) to a point. For example, a circle
can be represented parametrically as (x,y)=(cost,sint) for t∈[0,2π). Parametric functions are
vector-valued, with outputs that can represent positions in 2D or 3D space. This form is
particularly intuitive and widely used in computer graphics because it is easy to sample and
render.
• Generative or Procedural Representation:
Curves are generated using algorithms or processes, such as subdivision schemes or fractals.
These representations are useful for certain complex shapes that cannot be easily described by
implicit or parametric equations.
Although curves are sets of points, their representations offer ways to describe and manipulate these
sets. Different representations come with trade-offs. For instance, parametric curves are easier to
sample and render, making them the preferred choice in computer graphics. On the other hand,
implicit forms can simplify calculations like determining whether a point lies on a curve.
A single curve can often be expressed in multiple ways. For example, the circle x2+y2−1=0 in
implicit form is equivalent to the parametric representation (x,y)=(cost,sint). However,
depending on the application, one representation might be more convenient or practical than
the others.
While this chapter focuses on parametric representations due to their computational
advantages, it is essential to recognize that all representations provide valuable tools for
understanding and utilizing curves in mathematical and graphical contexts.

Parameterizations and Reparameterizations


A parametric curve is defined by a specific parametric function over a given interval. Typically,
this interval is normalized to the unit interval [0,1], with the parameter u representing
progression along the curve. Conceptually, u=0 corresponds to the start of the curve, and u=1
marks its endpoint. The function defining the curve answers the question, “Where is the pen at a
given time u?”
If a curve is defined over an arbitrary interval [a,b] using a function f(t), we can reparameterize it
over the unit interval [0,1] by defining a new function:
Map u from [0,1] to [a,b] using g(u)=a+(b−a)u.
Define the new function f2 (u)=f(g(u)).
This process, called reparameterization, allows the same curve to have multiple parameterizations.
The mapping function g(u) specifies how the new parameter relates to the old one. While
reparameterization can simplify curve representation for specific applications, it introduces
ambiguity. Multiple parameterizations of a curve make it challenging to determine if two
functions represent the same geometric path.
The parameterization of a curve often includes implicit timing information, reflecting how the pen
moves while tracing the curve. For example, three different parameterizations of the same
straight-line curve might be:
f(u)=(u,u) — constant speed.
f(u)=(u 2,u2) — slow start, faster end.
f(u)=(u5,u5) — very slow start, rapid acceleration near the end.
While the curves appear identical geometrically, the points corresponding to the same parameter
value u differ depending on the parameterization. If the pen moves at a constant velocity, u
directly correlates with distance along the curve. Otherwise, u reflects only the timing of the
motion.
A curve's arc-length parameterization relates the parameter directly to the distance traveled
along the curve. This approach removes timing ambiguity, ensuring that halfway through the
parameter space corresponds to halfway along the curve. Arc-length parameterization uses s as
the parameter and is defined by the property:
where c is a constant representing the velocity of the pen.
The arc length s from f(0) to f(v) is computed as:

where ( df(t)/dt )represents the derivative of the curve. Computing s often requires numerical
methods, as closed-form solutions are rarely available.
In practice, we use:
u for free parameters ranging over [0,1].
s for arc-length parameters.
t for other parameters that do not fit the previous categories.
Arc-length parameterization is particularly useful for applications requiring consistent motion along
a curve, such as animations or robotics. However, due to its computational complexity, simpler
parameterizations are often used unless precise control over curve traversal is needed.

Piecewise Parametric Representations


For some curves, defining a single parametric function is straightforward, as in the case of lines,
circles, or ellipses. For more complex shapes, a divide-and-conquer strategy is used: the curve is
broken into smaller, simpler segments, each defined with its own parametric function.
For instance, a compound curve may require different types of segments, such as a line and a
circular arc. A piecewise parametric function can describe such curves, switching between segment
definitions based on the parameter u. For 0 ≤ u ≤ 1, the function might be:

Here, f1 and f2 represent the parametric descriptions


of the individual segments. It’s crucial that the
endpoints of the segments match to ensure continuity
(f1 (1)=f2 (0)).
To simplify representations, all segments could be approximated with a single type, such as line
segments. While this may not perfectly recreate curves with arcs, the approximation can be
improved by increasing the number of line segments. In the theoretical limit (infinite segments),
the representation converges to the original curve.
Piecewise representations allow balancing:
• Accuracy of the approximation to the target curve.
• Complexity of the segments used.
• Number of segments required.
In computer graphics, simplicity often takes precedence, favoring basic elements like line
segments, arcs, or polynomial segments for efficiency and practicality.

Splines
Before the advent of computers, draftsmen used a flexible metal tool called a spline to create
smooth curves. The metal's stiffness allowed it to bend smoothly without folding, naturally
forming the desired shape.
Mathematicians modeled these curves using piecewise polynomial functions. Initially, the term
"spline" referred specifically to smooth, piecewise polynomial functions. Over time, its meaning
broadened to encompass any piecewise polynomial function.
In this context, a spline is defined as a piecewise polynomial function, which is highly effective for
representing curves.

Curve Properties
-

To describe a curve, its properties must be identified. For named curves (e.g., circles or ellipses),
these are typically specific characteristics such as the radius and center position for a circle or
the orientation and axis ratio for an ellipse. For free-form curves, a broader set of properties is
required.
Types of Curve Properties:
1. Local Properties: These describe characteristics of the curve at a specific location, independent
of the entire shape. Examples include:
• Continuity.
• Position at a point.
• Direction at a point.
• Curvature and other derivatives.
An analogy is a train track in the fog: standing on the track,
you can discern if it's straight, curved, or at an endpoint, but
not whether it forms a loop or its total length.
2. Global Properties: These require knowledge of the entire curve,
such as whether it is closed, crosses itself, or its total length.
The study of local properties of curves and surfaces is known as differential geometry. Local
properties focus on characteristics that can be discerned without external tools like GPS or
compasses, providing a mathematical framework for analyzing curves.
A curve is said to interpolate a point if that point lies on it. For a function f(t), it interpolates a
value v if there exists a parameter t such that f(t) = v. The value of t where interpolation occurs is
called the site.

Continuity
Understanding the continuity of curves is crucial for ensuring smooth transitions between
parametric segments. When combining two curve pieces, their endpoints must align. If f1(1) = f2(0),
the curve will have a visible break and fail to form a continuous stroke, violating the fundamental
definition of a curve.
1. Positional Continuity (C₀):
Ensures the endpoints of adjoining segments meet (f1(1) = f2(0)).
2. First Derivative Continuity (C₁):
The tangent vectors at the connection point match (f'1(1) = f'2(0)), avoiding sharp corners.
3. Second Derivative Continuity (C₂):
Ensures smooth curvature transitions, often important for applications like motion or fluid
dynamics.
4. Higher Derivative Continuity (Cₙ):
Rarely needed but may be required for specific scenarios, such as turbulence-free designs (e.g.,
airplane wings).
Geometric vs. Parametric Continuity
• Parametric Continuity (Cₙ): Depends on the parameterization of the curve. For example, unequal
speeds across segments can cause discontinuity.
• Geometric Continuity (Gₙ): Focuses on the shape of the curve, ensuring derivatives are
proportional in direction but not necessarily in magnitude. For instance:
f'1(1) = k * f'2(0),
where k is a scalar.
Geometric continuity is less restrictive than parametric continuity and allows for more flexible
representations.
Polynomial Pieces
The most widely used representations of curves in computer graphics is done by piecing together basic
elements that are defined by polynomials and called polynomial pieces.
Polynomial notation
Polynomials are functions expressed as a sum of terms involving powers of a variable t, written as:
f(t) = a0 + a1t + a2t 2 + … + ant n ,
where ai are coefficients, and n is the polynomial's degree (if an = 0 ).
This form is called the canonical form. It can also be generalized as:

where bi(t) are basis functions or blending functions.


A Line Segment
Line segments represent the simplest form of piecewise polynomial curves. A line segment
connecting two points, p0 and p1, can be parameterized over the unit interval as:
f(u) = (1 - u)*p0 + u*p1,
where u ∈ [0, 1] This equation can be expressed in vector form for simplicity.
A line segment can also be described by:
• The position of its center, orientation, and length.
• One endpoint and the position of the other relative to it.
• The center and one endpoint.
The canonical polynomial form is:
f(u) = a0 + u*a1,
where a0 = p0 and a1 = p1 - p0.
Using vector notation, the canonical form can be expressed as:
p = C*a
where C is the constraint matrix, and a represents the coefficients. Solving for a yields:
a = B* p
-1
where B = C is the basis matrix. This representation simplifies transformations between different
forms of the line segment.
Beyond Line Segments
This section introduces the concept of quadratic curves as an extension of line segments,
emphasizing their greater flexibility and utility in representing shapes. Quadratic curves are
defined as degree-two polynomials with three coefficients, offering a richer descriptive power
compared to linear representations.
Quadratic Representation:
The canonical form of a quadratic polynomial
(f(u)=a0 +a1*u+a2*u2 ) is used to describe these curves.
Quadratic curves can be parameterized using positions at specific points (e.g., beginning, middle,
and end) or derivatives that describe their behavior.
Derivatives:
The first derivative (f’(u)) indicates the direction of the curve.
The second derivative (f”(u)) reveals how the curve's direction changes (curvature).
These derivatives provide control over the shape and behavior of the curve.
Basis Matrices:
Quadratic curves leverage a constraint matrix to map control parameters (positions and
derivatives) into polynomial coefficients.
The basis matrix, derived by inverting the constraint matrix, allows for easy conversion between
control points and canonical polynomial forms.
Example:
The section illustrates parameterization by specifying the curve’s beginning, middle, and end
positions (u=0,0.5,1) and solving for the basis matrix:

Quadratic curves serve as a stepping stone toward understanding higher-degree polynomial


curves.
They provide a balance between complexity and control, making them ideal for applications in
computer graphics and geometric modeling.
This section sets the stage for exploring more complex polynomial curves, highlighting the role
of mathematical tools like basis matrices in achieving precise control over curve properties.
Blending functions
Blending functions define how control points influence a curve's shape based on a parameter u. By
multiplying the parameter vector u with the basis matrix B, a set of blending functions is
generated. These functions weight the control points, allowing the curve to be expressed as:

where pi are control points and bi(u) are blending functions.


Blending functions abstract the curve's construction, offering flexibility to represent any curve
type as a linear combination of its control points. This approach is foundational for curve modeling
techniques like Bézier curves and splines.
Interpolating polynomials
Interpolating polynomials are used to create curves that pass through a specific set of points. A
polynomial of degree n can interpolate n+1 points, with each interpolated point influencing the
entire curve.
The Lagrange form is a common way to define interpolating basis functions, given by:

where ti are the parameter values for each control point.


While interpolating polynomials ensure the curve passes through all specified points, they can
exhibit undesirable properties like overshooting and non-local control. For this reason,
piecewise polynomial approaches, such as splines, are often preferred in computer graphics.

Putting pieces together


Knots
Knots are parameter values that define where individual pieces of a piecewise polynomial function
begin and end. In a piecewise parametric function, each segment operates over a specific range of
the parameter, determined by the knots.
Knots are organized into a knot vector, which stores all knot values in ascending order. For
example, a function with two linear segments connecting three points would have knots defining
the start, middle, and end of the parameter range.
Knots play a crucial role in blending functions, determining how the segments are combined and
ensuring smooth transitions between them. This concept is fundamental for constructing curves
like splines in computer graphics.
Using independent pieces
If we want to assemble pieces, we need to convert from the parameter of theoverall function to the
value of the parameter for the piece. One way to do this is to define the overall curve over the
parameter range [0,n] where n is the number of segments. Depending on the value of the parameter,
we can shift it to the required range.
Putting segments together
This section discusses how to join multiple curve segments into a single continuous curve. The key
requirement is ensuring continuity at the connection points, which can be achieved in three ways:
• Shared-Point Scheme: Adjacent segments share the same control points at their endpoints.
• Dependency Scheme: The endpoint of one segment is calculated based on the starting point of
the next.
• Explicit Equation: Numerical methods enforce continuity conditions during curve construction.
Local control, where changes to one segment minimally affect others, is a desirable property.
Simpler schemes like the shared-point approach often provide better locality, while dependency-
based methods may cause changes to propagate across the entire curve. This locality ensures
efficient and intuitive control over the curve's shape.

Cubics
In computer graphics, piecewise polynomials are commonly used to represent curves, with cubic
polynomials being particularly popular. This preference arises due to several reasons:
2
1. Sufficient Continuity: Cubic polynomials allow for C continuity, which is generally adequate for
1
most visual applications. While quadratic polynomials offer only C smoothness, higher-order
polynomials typically do not justify their added complexity.
2. Minimum-Curvature Interpolation: Cubic polynomials can represent the smoothest possible
curve that passes through a given set of points by minimizing curvature over the curve's
length.
3. Symmetry and Control: They exhibit a symmetry that allows specification of both position and
derivative at the start and end of a curve segment.
4. Trade-off in Numerical Stability and Smoothness**: Cubics strike a balance between
computational complexity and the degree of smoothness provided.
The canonical form of a cubic polynomial is expressed as:
f(u) = a0 + a1*u + a2*u 2 + a3*u 3 .
However, this representation is not always the most convenient for controlling curves. To address
this, alternative representations of cubic polynomials are used to simplify control and ensure
smooth connections between curve segments.
Each cubic polynomial segment requires four coefficients or control points. For a piecewise
cubic polynomial curve with n segments:
• Up to 4n control points might be needed without sharing or dependencies.
• Sharing points or enforcing dependencies between adjacent segments typically reduces the
total number of control points.
There is no single representation that simultaneously achieves:
1. Cubic segments for all pieces.
2. Curve interpolation at control points.
3. Local control of the curve.
2
4. C continuity across segments.
Different representations prioritize three of these properties, but not all four.
Natural cubics
2
Natural cubic splines are used to create smooth curves with C continuity, meaning the curve is
smooth in terms of position, slope, and curvature across its segments. Each cubic segment is
connected by matching the position, first derivative (slope), and second derivative (curvature) at
the endpoints.
The control points for these splines include the endpoints of each segment and the first and
second derivatives at the start of the curve. However, most of the derivatives are determined by
the previous segment, so only a few parameters are independently adjustable.
One major drawback is that natural cubic splines lack local control. Changing one part of the
curve can affect the rest of it, which can make adjustments harder. They are also sensitive to
changes, meaning a small tweak at the start can cause big changes further along the curve.
Additionally, users only have direct control over the starting derivatives, while the rest are
calculated automatically based on earlier segments.
Despite these challenges, natural cubic splines are great for situations where a very smooth curve
is more important than having precise, localized control.

Cardinal cubics
1
Cardinal cubic splines are C continuous curves made up of cubic polynomial segments that
interpolate a set of points. They provide local control and allow for smooth transitions between
points, making them useful for many applications.
Each segment in a cardinal spline uses four control points: two that define the segment's start and
end, and two additional points that influence the derivatives at the segment's boundaries. These
derivatives are calculated using the surrounding control points. A parameter called tension controls
how tightly the curve bends around the points. A tension value of 0 produces a Catmull-Rom spline, a
commonly used special case.
1
While cardinal splines ensure smooth C transitions, they do not achieve C continuity. Additionally,
2

the curve does not interpolate the first and last control points unless extra points are added at the
ends.
Cardinal splines are preferred over high-degree interpolating polynomials because they avoid issues
like overshooting and lack of local control. Instead, they provide a practical and visually smooth
interpolation method with reasonable computational efficiency.

Approximating curves
In computer graphics, curve control can be achieved through interpolation or approximation. While
interpolation forces a curve to pass through specific points, it often lacks smoothness and
flexibility. Approximation schemes, like Bézier and B-spline curves, instead use control points to
influence the curve's shape without explicitly passing through them. This approach offers smoother
behavior, local control, and versatility, making it a preferred choice in many applications.

Bézier curves
Bézier Curves provides an in-depth explanation of the properties and applications of Bézier curves,
a fundamental tool in computer graphics for creating smooth, free-form shapes. These curves are
named after Pierre Bézier, who contributed significantly to their development, and have been
independently explored by several researchers. Their flexibility, precision, and computational
efficiency make them indispensable in various fields, such as design, animation, and font rendering.
A Bézier curve is defined by a polynomial of degree d and is controlled by d+1 control points. The
curve interpolates the first and last control points, ensuring it begins and ends at these positions,
while the intermediate control points shape the curve without necessarily lying on it. This behavior
allows designers to have intuitive control over the curve's appearance. The derivatives at the curve's
endpoints are influenced by the control points. For instance, the first derivative depends on the
vectors between the first two and last two control points, providing a natural way to define the
curve's direction and smoothness. ·
In practice, Bézier curves of any degree can be used, but cubic Bézier curves (d=3) are
most common because they balance flexibility, smoothness, and computational efficiency. A
cubic Bézier curve is defined by four control points. It interpolates the first and last points
and uses the intermediate points to determine the first and second derivatives at the
endpoints. These curves are widely used to construct complex shapes by connecting
multiple cubic segments.
The document highlights several advantages of Bézier curves. They are straightforward to
manipulate through their control points, enabling precise adjustments to the curve's
shape. Their convex hull property ensures the curve remains bounded within the polygon
formed by the control points, simplifying visualization and bounding box calculations.
Bézier curves also possess the variation diminishing property, meaning the curve does not
oscillate more than its control polygon, leading to smooth, predictable shapes.
One of the key computational benefits of Bézier curves is the existence of efficient
algorithms for evaluation and manipulation, such as the de Casteljau algorithm. This
recursive approach not only computes points on the curve but also facilitates subdivision
into smaller Bézier segments, enabling divide-and-conquer strategies for rendering,
collision detection, and intersection testing.
Applications of Bézier curves are widespread. In graphic design, tools like Adobe Illustrator
rely on cubic Bézier curves for vector graphics. Font rendering systems, such as
PostScript, use these curves to define character outlines. The ability to easily interpolate,
approximate, and manipulate shapes makes Bézier curves integral to modern computer
graphics, ensuring smooth, precise, and visually appealing results across various domains.
B-splines
B-splines are a method for approximating a set of points with a curve composed of polynomials
d-1
of degree d that provide C continuity. Unlike Bézier splines, B-splines do not necessarily
interpolate their control points but are shaped by their influence. This makes B-splines well-
suited for creating smooth curves with high levels of continuity.
A B-spline curve is defined as a linear combination of basis splines (B-splines), which are
themselves piecewise polynomials of degree d. These basis functions allow for:
• Local Control: Changes to a control point only affect the curve locally.
• Convex Hull Property: The curve lies within the convex hull of its control points.
• Variation Diminishing Property: The curve oscillates no more than the control polygon.
B-splines are highly flexible due to their ability to use uniform or non-uniform knot spacing.
Uniform B-splines have evenly spaced knots, leading to consistent behavior, while non-uniform
B-splines allow for customized control over the curve's shape. B-splines are particularly
2
advantageous for applications requiring high continuity and smoothness, such as creating C or
higher-continuity curves.

NURBS
NURBS extend B-splines by introducing rational components, allowing the representation of
shapes and curves that standard B-splines cannot achieve. They use a weighted combination of
control points and are defined by a ratio of two functions:
• The numerator and denominator are composed of B-spline basis functions.
• By assigning weights to control points, NURBS provide enhanced flexibility and precision in
shaping curves.
This capability is particularly useful for accurately representing conic sections, such as circles
and ellipses, which cannot be directly modeled with polynomial B-splines.

References
http://repo.darmajaya.ac.id/5422/1/
Fundamentals%20of%20Computer%20Graphics%2C%20Fourth%20Edition%20%28%20PDFDrive%
20%29.pdf

You might also like