POLYGON MESHES
Submitted To: Submitted By:
Prof. Rashmi Vikas Goyal (2K20/CO/485)
(CSE , DTU) Vikash Yadav (2K20/CO/486)
DEFINITION
• In 3D computer graphics and solid
modeling, a polygon mesh is a collection
of vertices, edges and faces that defines
the shape of a polyhedral object.
•A polygon mesh is a surface that is
constructed out of a set of polygons that
are joined together by common edges.
ELEMENTS OF MESH MODELING
Construction of Polygonal meshes
1. Box modeling
One of the most popular methods of constructing meshes is box modeling, which uses two
simple tools:
• The subdivide tool splits faces and edges into smaller pieces by adding new vertices.
For example, a square would be subdivided by adding one vertex in the center and one
on each edge, creating four smaller squares.
• The extrude tool is applied to a face or a group of faces. It creates a new face of the
same size and shape which is connected to each of the existing edges by a face. Thus,
performing the extrude operation on a square face would create a cube connected to
the surface at the location of the face.
2. EXTRUSION MODELING
A second common modeling method is sometimes referred to
as inflation modeling or extrusion modeling. In this
method, the user creates a 2D shape which traces the outline
of an object from a photograph or a drawing. The user then
uses a second image of the subject from a different angle and
extrudes the 2D shape into 3D, again following the shape’s
outline.
This method is especially common for creating faces and
heads. In general, the artist will model half of the head and
then duplicate the vertices, invert their location relative to
some plane, and connect the two pieces together. This
ensures that the model will be symmetrical.
3. Another common method of creating a
polygonal mesh is by connecting together
various primitives, which are predefined
polygonal meshes created by the modeling
environment. Common primitives include:
• Cubes
• Pyramids
• Cylinders
• 2D primitives, such as squares, triangles,
and disks
• Spheres
POLYGON MESHES REPRESENTATION
Polygon meshes may be represented in a variety of ways, using
different methods to store the vertex, edge and face data.
These include:
➢ Vertex-vertex meshes
➢ Face-vertex meshes
➢ Winged-edge meshes
➢ Render dynamic meshes
Vertex-vertex meshes
Vertex-vertex meshes represent an object as a set of vertices
connected to other vertices. This is the simplest
representation, but not widely used since the face and edge
information is implicit. Thus, it is necessary to traverse the data
in order to generate a list of faces for rendering.
VV meshes benefit from small storage space and efficient
morphing of shape. This figure shows a four-sided box as
represented by a VV mesh. Each vertex indexes its
neighboring vertices. The last two vertices, 8 and 9 at the top
and bottom center of the "box-cylinder", have four connected
vertices rather than five.
Face-vertex meshes
Represent an object as a set of faces and a set
of vertices. This is the most widely used in
mesh representation, being the input typically
accepted by modern graphics hardware.
With face-vertex meshes it is easy to find the
vertices of a face. Also, the vertex list contains
a list of faces connected to each vertex.
Winged-edge meshes
Winged-edge meshes explicitly represent the
vertices, faces, and edges of a mesh. This
representation is widely used in modeling
programs to provide the greatest flexibility in
dynamically changing the mesh geometry,
because split and merge operations can be
done quickly.
This figure shows the "box-cylinder" as a
winged-edge mesh. The total data for an edge
consists of 2 vertices (endpoints), 2 faces (on
each side), and 4 edges (winged-edge).
Render dynamic meshes
A representation which combines winged-edge meshes and face-vertex
meshes. Render dynamic mesh explicitly stores both, the vertices of a face
and faces of a vertex (like FV meshes), and the faces and vertices of an edge
(like winged-edge).
Render dynamic meshes require slightly less storage space than standard
winged-edge meshes, and can be directly rendered by graphics hardware.
In addition, traversal from vertex to face is explicit (constant time), as is from
face to vertex. RD meshes do not require the four outgoing edges since these
can be found by traversing from edge to face, then face to neighboring edge.
THANK YOU
COMPUTER GRAPHICS
PARAMETRIC CUBIC CURVES,
HERMITE CURVES,
BEZIER CURVES
PRESENTED BY-
VIKRAM MISHRA (2K20/CO/487)
YASH (2K20/CO/497)
YASHWANT G (2K20/CO/502)
CURVES
A curve is an infinitely large set of points. Each point has two neighbors
except endpoints. When these points are joined together then obtained
figure is known as curve.
TYPES:
Implicit Curve
Explicit Curve
Parametric Curve
PARAMETRIC CURVE
Curves whose mathematical equation can be written in the form of a
parameter, let say t are known as parametric curve.
WHY PARAMETRIC CURVE?
Among all the types of curves, parameter curves are preferred mostly
because it is more convenient and also it makes mathematical
calculations easy.
x(t)=Fx(t),
e.g,
y(t)=Fy(t)
PARAMETERIC CUBIC
CURVE
DEFINATION:
A parametric curve which are made up of 4 points
and whose highest degree is 3 in mathematical
representation are known parametric cubic curve.
MATRIX REPRESENTATION
Q(t) = T.C =
T= Parameter matrix
C = Coefficient matrix
WHY CUBIC?
Not less than 3
lower-degree polynomials give too little flexibility in controlling
the shape of the curve.
Not greater than 3
higher-degree polynomials can introduce unwanted wiggles
and require more computation.
HERMITE
CURVE
DEFINATION:
Hermite curve is a type of parametric cubic curve which is determined by
applying constraints on the end points P1,P4 and Tangent vectors at the end
points R1,R4.
USE OF CONTROL POINTS:
Geometric Points that control the
shape.
Algebrically it is used for linear
combination of basis functions.
MATHEMATICAL EQUATION
We know that,
Q(t) = T.C = T.M.G
where,
M= Hermite Basis Matrix
[ ] []
G = Hermite Geometry Matrix Vector
2 -2 1 1 P1
M= -3 3 -2 -1 G= P4
0 0 1 0 R1
1 0 0 0 R4
[ ][ ]
2 -2 1 1 P1
3 2 .
Q(t) =[ t t t 1 ]. -3 3 -2 -1 P4
0 0 1 0 R1
1 0 0 0 R4
Q(t)=
Applications of hermite Curve:
1. They are used to smoothly interpolate
between key-points. eg. (like object
movement in keyframe animation or
camera control)
2. One of the benefits of this combination is
the adjustments to overcome speed
discontinu- ities.
3. Understanding the mathematical
background of hermite curves will help
you to understand the entire family of
splines.
BEZIER
CURVE
DEFINATION:
Bezier Curve is another approach for the construction of
a curve. It is also an approximate spine curve, meaning it
will definitely pass through the start and end points.
Bezier Curve Equation
Where,
P(t) = Any point lying on the
bezier curve
Bi = control point of the curve
n = degree of the curve
Jn,i=Barstein Polynomials
Properties
A very useful property of the Bezier Curve is that it always passes
through the first and last Control points.
They generally follow the shape of the Control polygon which
consists of the segments joining the control point.
The Curve is contained within the Convex hull of the Polygon.
It is quite easy to implement.
The degree of the polynomial defining the Curve Segment is one
less than the number of defining control polygon points.
Applications
1. Computer Graphics-
Bezier curves are widely used in computer
graphics to model smooth curves.
So, the points can be graphically displayed &
can be used to manipulate the curve intuitively.
2. Animation-
For 3D animation, bezier curves are often used
to define 3D paths as well as 2D curves.
3. Fonts-
True type fonts use composite bezier curves
composed of quadratic bezier curves
Thank
you!!
Applications of Bezier Curve
• Bezier curves have a lot of applications in the areas of science,
engineering, and technology.
• Railway route or highway modeling, networks, animation, computer-
aided design system, robotics, environment design, communications,
and many other fields due to their computational simplicity and
stability.
Drawbacks of the Bezier Curve
• The degree of the Bezier curve depends on the number of control
points.
• The Bezier curve lacks local control. Changing the position of one
control point affects the entire curve.
CO313 : COMPUTER GRAPHICS
CONDITIONS FOR SMOOTHLY
JOINING CURVE SEGMENTS
SUBMITTED TO :- Ms. RASHMI YADAV
SUBMITTED BY :- AAYUSHI SINGH (2K20/EE/03)
ADITYA SINGH (2K20/EE/17)
INTRO TO CURVES
❖ Objects in the real world may not always be made up of regular geometric shapes. Surfaces
are made up of curved surfaces and curved edges.
❖ Therefore, We need to have curves and curved surfaces. A curve is a collection of indefinite
points where each and every point has two neighbours, except start and end points (as they
have one). There are many ways to represent a curve. The representation that we want
should be-
-smooth
-stable
-easy to evaluate
Interpolation – the curve passes through all of the control points.
Approximation – the curve does not pass through all of the control points.
OVERVIEW OF IMPLICIT,EXPLICIT AND PARAMETRIC CURVES
IMPLICIT –
Implicit curve representations define the set of points on a curve by employing a procedure that can test to
see if a point is on curve. f(x,y) = 0
A common example is circle with center at origin whose implicit representation is (x^2 + y^2)^(1/2) – R = 0
EXPLICIT –
A mathematical function y = f(x) as a curve. For each value of x, only a single value of y is normally
computed by the function.
It cannot represent all curves for e.g. Circles
PARAMETRIC –
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).
Parametric Cubic Curves, Hermite Curves, Bezier Curves
PARAMETRIC
HERMITE BEZIER
CUBIC
- Parametric cubic is the lowest order - Specified by four control polynomials.
parametric curve that can meet all - Defined by its 2 endpoints and
continuity requirements. tangent vectors at endpoints. - Interpolates first and last control
points.
- Higher order curves are more wiggly, - Interpolates all its control
may introduce unwanted oscillations into points. - Curve is tangent to first and last
the curve. segments of control polygon.
- A single cubic curve segment cannot
model enough details into the curve.
PARAMETRIC
CONTINUITY
GEOMETRIC Geometric continuity,
Mathematical way to indicate requires parametric
how smooth the flow between derivatives of two curve
two curves or surfaces is. sections to be proportional
to each other at their
common boundary instead
⮚ Continuity is associated with the of equal to each other.
smoothness of the geometry. The
smoothness can be evaluated in terms of
either the parametric space or the
geometric appearance.
Parametric continuity is
obtained by matching
⮚ To guarantee a smooth transition from
the parametric
one section of the piecewise curve to the
derivatives of the
next, we can enforce continuity
adjoining two curve
conditions at the link points.
segments at their
common boundary.
PARAMETRIC CONDITIONS
For parametric continuity, we view
C0
Zero Order Parametric
the curve or surface as a function Continuity
rather than a shape. Parametric
continuity cannot be defined given C1 First Order Parametric
only the shape of the curve. Continuity
You need a parametrization of it. C2 Second Order Parametric
Continuity
C0 CONTINUOUS
A junction between two curves is said to be C0-
continuous if the (x, y, z)-values of the two curves
agree. Alternatively, this is called zeroth-order
parametric continuity. Simply the curves meet.
C1 CONTINUOUS
A curve is said to be first-order parametric continuous if it is C0 Continuous and the first-order
derivative of segment P at t = t2 is equal to the first-order derivative of segment Q at t = t1. Such
kinds of curves have the same tangent line at the intersection point.
P’(t=1) = Q’(t=0)
A junction between two curves is said to be C1-continuous if the (x, y, z)-values of the two curves
agree, and all their first derivatives (dx/ds, dy/ds, dz/ds) agree at their junction.
C2 CONTINUOUS
A curve is said to be second-order parametric continuous if it is C0 and C1 Continuous and the
second-order derivative of the segment P at t = t2 is equal to the second-order derivative of
segment Q at t = t1.
P’’(t=1) = Q’’(t=0)
A junction between two curves is said to be C2-continuous if the (x, y, z)-values of the two curves
agree, and their first and second parametric derivatives all agree at their junction.
UNDERSTANDING MORE...
If each section is described with a set
of parametric coordinate function of
the form
A camera traveling along the
curve path in Figure 6(b) with
x = x(u), y = y(u), z = z(u), u₁ ≤ u ≤ u₂
equal steps in parameter u would
experience an abrupt change in
acceleration at the boundary of
the two sections, producing a
discontinuity in the motion
First-order parametric
sequence. continuity is often sufficient
for digitizing drawings and
some design applications.
If the camera was traveling
along the path in Figure 6(c), Second-order parametric
the frame sequence for the
motion would smoothly
continuity is useful for
transition across the boundary. setting up animation paths
for camera motion and for
many precision CAD
requirements.
GEOMETRIC CONDITIONS
Geometric continuity can be defined
G0
Zero Order Geometric
using only the shape of the curve. It is Continuity
usually defined in terms of
parametrizations, but the choice of G1 First Order Geometric
parametrization does not affect the Continuity
outcome. G2 Second Order Geometric
Continuity
G0 CONTINUOUS
It is similar to the zero-order parametric curve
continuity condition.
A junction between two curves is said to be G0-
continuous if the (x, y, z)-values of the two curves
agree.
P(t2) = Q(t1)
G1 CONTINUOUS
The junction point between two points is said to be G1 continuous if the coordinate of both curve
segments is G0 continuous and following the below condition:
P'(t2) = k * Q'(t1) for all x,y,z and k > 0
A junction between two curves is said to be C1-continuous if the (x, y, z)-values of the two curves
agree, and all their first derivatives (dx/ds, dy/ds, dz/ds) agree at their junction.
G2 CONTINUOUS
The junction point between two points is said to be G2 continuous if the coordinate of both curve
segments is G1 continuous and following the below condition:
P''(t2) = k * Q''(t1) for all x,y,z and k > 0
Higher order geometric continuity is a bit tricky to define. One way to do it is to use arc length-based
definitions of derivatives. That is, if the nth-order derivatives of the two curves wrt an arc length
parameter s, then the curve is Gn continuous at the junction.
JOINING BEZIER CURVE
When two Bézier curves are joined to form a longer curve, we often want to have a
smooth join (i.e. no sharp edges), which is achieved by having both curve segments share
the same direction of the tangent vector at the join. We might also want the 'speed' at
which we move along the curve as t varies to remain constant at the join point, so that if
we are using the curve to animate an object, the speed of the object does not suddenly
change.
To achieve C1 continuity, we simply have to put the tangent vectors to be equal, for
curves with control points p₀,...,p₃ and q₀,...,q₃ this is done by setting
p₃ - p₂ = q₁ - q₃
For G1 continuity we set the tangent vectors to be some multiple of one another, so for
curves with control points p₀,...,p₃ and q₀,...,q₃
p₃ - p₂ = k(q₁ - q₃)
EXAMPLE
Show that two curves n(t) = (t2+2t-2,t2) and r(t) = (t2 +2t + 1,t+1)are both C0 and G0
continuous where they join at n(1) = r(0). Do they meet C1 and G1 continuity.
n(1) = (12 + 2 -2,12)
= (1, 1)
r(0) = (02 +0+1,0+ 1)
= (1, 1)
Therefore, we can say that both curves are C0 and G0 continuous at n(1) and r(0). To
check for C1 and G1 continuity we have to take first derivative of both the curves:
Derivative n(t) = (2t+2,2t)
Derivative r(t) = (2t+2,1)
n(1) = (2+2,2)
= (4,2)
Proportional
r(0) = (2,1)
Since n(1) ≠ r(0), the two curves are not C1 but G1 continuous at n(1) and r(0).
REFERENCES
https://www.cs.helsinki.fi/group/goa/mallinnus/curves/curves.html
https://people.eecs.berkeley.edu/~jfc/cs184f98/lec19/lec19.html
D. Hearn, P. Baker & W. Carithers, “Computer Graphics with OpenGL”, Pearson, 2015
http://www.tutorialsspace.com/PDF-NOTES/Computer-Graphics/Parametric-And-
Geometric-Continuity.pdf
https://www.slideshare.net/RohitK71/computer-graphics-curves-and-surfaces-1
https://slideplayer.com/slide/9785263/
https://www.inf.ed.ac.uk/teaching/courses/cg/d3/bezierJoin.html#:~:text=When%20tw
o%20B%C3%A9zier%20curves%20are,tangent%20vector%20at%20the%20join.
THANK
YOU
BEZIER BI-CUBIC
SURFACE PATCH BY :
ANSH MAHESHWARI (2K20/EE/46)
CHIRAG VERMA (2K20/EE/82)
Submitted to :- Dr. Rashmi
BÉZIER SURFACE
Bézier surfaces are a species of mathematical spline
used in computer graphics, computer-aided design, and
finite element modeling. As with Bézier curves, a Bézier
surface is defined by a set of control points. Similar to
interpolation in many respects, a key difference is that
the surface does not, in general, pass through the
central control points; rather, it is "stretched" toward
them as though each were an attractive force. They are
visually intuitive, and for many applications,
mathematically convenient.
EQUATION OF BÉZIER SURFACE
• A two-dimensional Bézier surface can be defined as a parametric surface where the position of a
point p as a function of the parametric coordinates u, v is given by:
SOME PROPERTIES OF BÉZIER SURFACES
• A Bézier surface will transform in the same way as its control
points under all linear transformations and translations.
• All u = constant and v = constant lines in the (u, v) space, and in
particular all four edges of the deformed (u, v) unit square are
Bézier curves.
• A Bézier surface will lie completely within the convex hull of its
control points, and therefore also completely within the bounding
box of its control points in any given Cartesian coordinate system.
• The points in the patch corresponding to the corners of the
deformed unit square coincide with four of the control points.
• However, a Bézier surface does not generally pass through its
other control points.
BÉZIER SURFACES IN COMPUTER
GRAPHICS
• Bézier patch meshes are superior to triangle meshes as a representation of
smooth surfaces. They require fewer points (and thus less memory) to
represent curved surfaces, are easier to manipulate, and have much better
continuity properties. In addition, other common parametric surfaces such
as spheres and cylinders can be well approximated by relatively small
numbers of cubic Bézier patches.
• However, Bézier patch meshes are difficult to render directly. One problem
with Bézier patches is that calculating their intersections with lines is
difficult, making them awkward for pure ray tracing or other direct geometric
techniques which do not use subdivision or successive approximation
techniques. They are also difficult to combine directly with perspective
projection algorithms.
• For this reason, Bézier patch meshes are in general eventually decomposed
into meshes of flat triangles by 3D rendering pipelines. In high-quality
rendering, the subdivision is adjusted to be so fine that the individual
triangle boundaries cannot be seen. To avoid a "blobby" look, fine detail is
WHY BICUBIC BÉZIER SURFACES?
• Using bicubic Bézier surfaces instead of other surface types
makes a lot of sense. They are a nice balance between simplicity
and complexity, providing freedom for the artist with a minimal
amount of complexity for the programmer and renderer.
• Bézier surfaces are just about as simple as you can get for
curved surfaces. They are defined by a square grid of control
points. The bounding curves of the surface are Bézier curves
dictated purely by the control points at the edge. The surface
between the edges is controlled by a simple proportion of nearby
control points. The limitations placed on control point position to
ensure continuity between neighboring surfaces is well-known
and easy to enforce.
CUBIC BÉZIER CURVES
• Let's start with a discussion of cubic Bézier curves. The cubic Bézier
curve is a parametric curve (u = [0, 1]) defined by its four control points pi.
The common way of representing this curve is with the function:
• The Bi(u) are the Bézier basis functions, which are cubic Bernstein
polynomials. The Bernstein polynomials used for a cubic Bézier curve
take this form:
• Here are the same equations expanded out:
• These basis functions indicate the proportion that each control point
influences the curve. As you can see, each basis function is a cubic.
BICUBIC BÉZIER
SURFACES
INTRODUCTION
• A bicubic Bézier surface is a parametric surface (u,v = [0,1], [0,1]) defined by its
sixteen control points which lie in a four-by-four grid, pij. The common form for
representing this surface is:
• The functions Bi(u) and Bj(v) are the same Bernstein polynomials which were
shown for the Bézier curve.
• The edges of Bézier surfaces are each Bézier curves defined by the control points
along that edge. The only control points that lie on the surface are the corner
control points. In order to generate the surface, we need to compute points from the
surface representation given above, defined by the sixteen control points. This
tessellation can be done in a variety of ways.
TESSELLATION BY DIRECT
EVALUATION
The most obvious way to slice a Bézier surface into polygons is by
directly calculating the double-sum equation on a regular grid. Directly
calculating a point on the surface costs 51 adds and 116 multiplies
when done in a fairly efficient manner. Since we can calculate all 81
points iteratively, some of these computations can be amortized across
the rows or down the columns of the grid. Without doing too much extra
programming it is possible to compute all 81 vertices using direct
evaluation at a cost of 3978 adds and 8586 multiplies.
TESSELLATION BY DE CASTELJAU'S
ALGORITHM
• Another way to tessellate a Bézier surface is through the use of De
Casteljau's algorithm. De Casteljau's algorithm shows how a Bézier
curve can be calculated by using simple linear interpolation between
control points. Calculating points on a Bézier curve via De Casteljau's
algorithm is similar to direct evaluation of points on the curve.
• Take a look at in the Figure for an illustration of how De Casteljau's
algorithm works. Start with lines connecting each pair of the Bézier
curve's adjacent control points (P0 to P1, P1 to P2, P2 to P3). The
parameter t ([0,1]) represents a distance along each of these lines,
where 0 is the beginning of the line, and 1 is the end. At t along each
line put a mark. Connect adjacent marks (call them P01, P12, P23)
with lines, and again make a mark at t on each of those lines. Connect
these two marks (P02, P13) and drop a point at t (P03) on this line.
That point lies on the Bézier curve. If you step the parameter t from 0
to 1, you will produce the entire curve.
THIS IS A PRETTY SIMPLE ALGORITHM AND IT CAN EASILY BE USED TO SPLIT
CURVES IN HALF IF YOU SET T=0.5. THIS WILL GENERATE TWO SMALLER
BÉZIER CURVES WITH THEIR OWN SETS OF CONTROL POINTS. THE
CONTROL POINTS OF THE SUBCURVES ARE ACTUALLY THE INTERMEDIATE
MARKS WE MADE DURING THE SPLIT PROCESS.
TO COMPUTE THE CONTROL POINTS OF THE SUBCURVES WE CAN
GENERATE EQUATIONS DIRECTLY FROM THE DESCRIPTION ABOVE. HERE
ARE THE EQUATIONS THAT WILL GENERATE THE NEW SETS OF CONTROL
POINTS QI AND RI:
TESSELLATION BY CENTRAL
DIFFERENCING
• A third way of generating points on a Bézier surface is through the use of
central differencing. In this approach we look at taking advantage of the
Bézier curves on the edges of the surface, by splitting the edge curves and
then splitting across the surface repeatedly to subdivide the surface.
• We start with the Taylor series expansion, which represents the value of a
function Q near a point u.
• In this equation, Qi(u) is the i-th derivative of Q(u).
• The functions that describe a Bézier curve are cubic. So we know right
away that the derivatives will be of the form:
• Since the fourth and higher derivatives of the cubic equation are zero, the Taylor
expansion only needs to go out to the third derivative. The new form of the above
equation looks like this :
• If we wanted to look at points just behind u, in the negative du direction, we could
work with this expression :
• Let's add these two equations together and simplify it to solve for Q(u) :
• If we go through the derivation above with Q(u) replaced by Q''(u), we get a
formula that helps :
CONCLUSION
• Through the use of some crafty mathematical techniques, we've reduced the
cost of computing a 9x9 grid of vertices on a bicubic Bézier surface from 3978
adds and 8586 multiplies, to 1506 adds and 1488 multiplies. This is much
more reasonable!
• The goal of this mathematical exercise was to find an algorithm for computing
bicubic Bézier surfaces that would allow their use in real-time games. At the
same time I wanted to find an algorithm that could be optimized for a vector
processor, and for which the data would fit in the 4KB of the Nintendo64's
RSP co-processor. The central differencing algorithm fits all these
requirements. The curve-splitting stage of the central differencing algorithm is
highly vectorizable, and the data does indeed fit in 4KB, unlike the data
necessary when using De Casteljau's algorithm to split surfaces.
B- Spline curves and cubic B- spline curves
using knot vector
BACHELOR OF TECHNOLOGY
IN
[ELECTRICAL ENGINEERING]
Submitted By
GARVIT BHARDWAJ [2K20/EE/101)
DIVYAM GUPTA (2K20/EE/98)
Under the Supervision
of
PROF. RASHMI YADAV Ma’am
INTRODUCTION
The term "B-spline" was coined by Isaac Jacob Schoenberg and is short for basis spline. A spline
function of order n is a piecewise polynomial function of degree n-1 in a variable x.
The places where the pieces meet are known as knots. The key property of spline functions is that they
and their derivatives may be continuous, depending on the multiplicities of the knots.
B-splines of order n are basis functions for spline functions of the same order defined over the same
knots, meaning that all possible spline functions can be built from a linear combination of B-splines,
and there is only one unique combination for each spline function.
B- SPLINE CURVES….
● Concept of B-spline curve came to resolve the disadvantages having by Bezier curve, as we all know
that both curves are parametric in nature. In Bezier curve we face a problem, when we change any of
the control point respective location the whole curve shape gets change. But here in B-spline curve, the
only a specific segment of the curve-shape gets changes or affected by the changing of the
corresponding location of the control points.
● In the B-spline curve, the control points impart local control over the curve-shape rather than the global
control like Bezier-curve.
B- SPLINE CURVE SHAPES
B-spline curve shape before changing the position of control point P 1 –
B- SPLINE CURVES….
B-spline curve shape after changing the position of control point P1 –
B- SPLINE CURVES….
● As we see above that the B-splines curves are independent of the number of control points and made up
of joining the several segments smoothly, where each segment shape is decided by some specific
control points that come in that region of segment. Consider a curve given below –
B- SPLINE CURVES….
❖ Attributes of this curve are –
❖
● We have “n+1” control points in the above, so, n+1=8, so n=7.
● Let’s assume that the order of this curve is ‘k’, so the curve that we get will be of a polynomial degree of “k-1”.
Conventionally it’s said that the value of ‘k’ must be in the range: 2 ≤ k ≤ n+1. So, let us assume k=4, so the
● curve degree will be k-1 = 3.
● The total number of segments for this curve will be calculated through the following formula –
Total no. of seg = n – k + 2 = 7 – 4 + 2 = 5.
B- SPLINE CURVES….
.
SEGMENTS CONTROL POINTS PARAMETER
S0 P 0, P 1, P 2, P 3 0 <= t <= 2
S1 P 1, P 2, P 3, P 4 2 <= t <= 3
S2 P2,P3,P4,P5 3 <= t <= 4
S3 P 3, P 4, P 5, P 6 4 <= t <= 5
S4 P 4, P 5, P 6, P 7 5 <= t <= 6
CUBIC B- SPLINE CURVES USING KNOT
VECTORS
❏ The point between two segments of a curve that joins each other such points are known as knots in
B-spline curve. In the case of the cubic polynomial degree curve, the knots are “n+4”. But in other
common cases, we have “n+k+1” knots. So, for the above curve, the total knots vectors will be –
❏
❏ Total Knots = n + k + 1 = 7 + 4 + 1 = 12
❏
❏ These knot vectors could be of three types –
● Uniform (periodic)
● Open-Uniform
● Non-Uniform
B- SPLINE CURVE EQUATION
The equation of the spline-curve is as follows –
Where Pi, k, t correspondingly represents the control points, degree, parameter of the curve.
CONT….
And following are some conditions for xi are as follows –
Some cases of Basis function :
PROPERTIES OF B SPLINE CURVES
❖ Each basis function has 0 or +ve value for all parameters.
❖
❖ Each basis function has one maximum value except for k=1.
❖
❖ The degree of B-spline curve polynomial does not depend on the number of control points which
makes it more reliable to use than Bezier curve.
❖
❖ B-spline curve provides the local control through control points over each segment of the curve.
❖
❖ The sum of basis functions for a given parameter is one.
COMPUTER GRAPHICS
PRESENTED By- MOHD ARMAN(2K20/EE/166)
GAURAV PATEL(2K20/EE/104)
TESTING FOR FIRST
ORDER AND SECOND
ORDER CONTINUITIES
INTRODUCTION
Parametric Continuity Conditions
To ensure a smooth transition from one section of a piecewise parametric
curve to the next, we can impose various continuity conditions at the
connection points.
If each section of a spline is described with a set of parametric coordinate
functions of the form-
PARAMETRIC CURVE
•A two-dimensional parametric curve has the following form −
• P(t)
— = f(t), g(t) or P(t) = x(t), y(t)
• The
— functions f and g become the (x, y) coordinates of any point on the curve, and
the points are obtained when the parameter t (or u) is varied over a certain interval
[a, b], normally [0, 1].
Parametric & Geometric Continuity of Curves in
Computer Graphics
The continuity condition represents that how smoothly a curve transit
from one curve segment to another segment. Consider you are given
a curve as shown below:
PARAMETRIC CONTINUITY CONDITIONS
❖There are three types of Continuities-
1. Zero Order Continuity
2. First Order Continuity
3. Second Order Continuity
FIRST ORDER CONTINUITY
• First parametric derivatives (tangent lines) of the coordinate functions two
successive curve sections are equal at their joining point.
• Segments have to match ‘nicely’.
• Given two segments P(u) and Q(v).
• We consider the transition of P(1) to Q(0).
• First order parametric continuity
•C 1 : dP(1)/du = dQ(0)/dv.
• Direction of P(1) coincides with direction of Q(0).
A curve is said to be first-order parametric continuous if it is Co Continuous and the
first-order derivative of segment P at t=t2 is equal to the first-order derivative of
segment Q at t=t1. Such kinds of curves have the same tangent line at the intersection
point.
P’(t2) = Q’(t1)
SECOND ORDER CONTINUITIES
• Second-order parametric continuity, or C 2 continuity,
means that both the first and second parametric
derivatives of the two curve sections are the same at the
intersection.
• Given two segments P(u) and Q(v).
• We consider the transition of P(1) to Q(0).
• Second order parametric continuity
•C 2 : d2P(1)/du2 = d2Q(0)/dv2 .
• Curvatures in P(1) and Q(0) are equal.
A curve is said to be second-order parametric continuous if it is
Co and C1 Continuous and the second-order derivative of the
segment P at t=t1 is equal to the second-order derivative of
segment Q at t=t2.
P’’(t2) = Q’’(t1)
GEOMETRIC CONTINUITY
FIRST ORDER GEOMETRIC CONTINUITY(G1)
The junction point between two points is said to be G1 continuous if the coordinate of both curve segments is
G0 continuous and following the below condition:
P’(t2) = k*Q’(t1) for all x, y, z and k>0
SECOND ORDER GEOMETRIC CONTINUITY(G2)
The junction point between two points is said to be G2 continuous if the coordinate of both curve segments is
G1 continuous and following the below condition:
P’’(t2) = k*Q’’(t1) for all x, y, z and k>0