You are on page 1of 8

Geometric Concepts:

 Coordinate Systems, Points, Lines, Planes: Coordinate system allows the definition of a
point using one or more real numbers

 Simple Curves and Surfaces: Circle, Conics, Surfaces (Quadratic, Tori)


o Conics can be written in general form Ax2+2Bxy+Cy2+2Dx+2Ey+F=0
o B2<A.C forms an ellipse
o B2=A.C forms parabola
o B2>A.C forms hyperbola

Matrix Form:

XTQX = 0, where X=[x y 1]

Q = [A B D; B C E; D E F]

Different type quadratic surfaces are Cone, Elliptic Cylinder, Hyperbolic Cylinder and
parabolic cylinder.

The same can be extendable to define quadratic surfaces.

Interestingly, Torus equation is given by rotating the circle around the circle as:

(x2+y2+z2-(R2+r2))2 = 4R2(r2-z2)

 Homogeneous Coordinates

Of many purposes, the homogeneous coordinate is used to capture the idea of infinity. This
is very useful in designing curves and surfaces. For example, a/w would tend to infinity as w
tends to 0. So, it can be represented as (a, 0).

Conversion: Converting a homogenous coordinate to conventional one is unique, but the


reverse is not true. For example, a point (4, 2, 3) in space to (4w, 2w, 3w) for any non-zero
w.

 Geometric Transformations: Euclidean Transformation & Affine Transformation

Affine Transformation may not preserve the angle and lengths.However, this does not alter
the degrees of the polynomials and the parallel/perpendicular or self-intersecting lines are
transformed to respective types.

Projective transformation: linear transformation that uses homogeneous coordinate. Just


like affine transformation, it also does not alter the degree of the curve or parallel or
intersection invariant.
Solid Representation: An Introduction

 The computer representation should allow the notion of solidity within the computer.
o Unambiguous
o Valid
o Closure (transformation applied to solid results into another valid solid)
o Accurate
o Unique
o Domain
o Compactness and efficient

 Wireframe model- Representation using the vertex and edges. However, they are
ambiguous.
 Boundary representation is an extension of the wire-frame model with face information.
B-rep stores two types of information: geometric and topological information.

Manifold Solid

Winged Edge Data Structure: Baumgart’s winged edge data structure


Euler-Poincare Formula
It defines the relationship between the number of vertices, edges and faces of a
manifold solid.

V-E+F = 2(1-G)

For regular polyhedron, Euler’s formula yields 2 but for torus-like polyhedron, it would
yield zero.

In solid modelling, we can validate a solid model by using the relation:

V-E+F-L=2(B-G)
Where L is the number of loops (Face’s inner loop), B is the number of independent
body.

Euler Operator

During the process of editing the solid model, user might edit it by adding or deleting
the vertices, edges and faces. During this phase, the intermediate solid model may not
be valid model. These operations are called Euler Operators.

Parametric Curve
It is a curve in space that maps a real value u in the closed interval [0, 1] to a point in
space, which is achieved using a real functions and vector valued functions.

F(u) = (f(u), g(u), h(u))


Normal Vector and Curvature

Osculating Plane: As points A and B approach a fixed point P, there exists a plane formed
by the tangent and vector-representing rate of change in tangent.

F(u)+pF’(u)+qF’’(u)

The bi-normal is perpendicular to the osculating plane.

Continuity Issues

Most the boundary representation uses surface patch to be joined together. At the
joining, we need to ensure that they join in a smooth way.

As each surface is defined using bounding curves, the continuity of the curves would be
described. Each curve is parameterized, so we need to know the role of the
parameterization on joining of the curves.

 C0 continuity is achieved if two curves are connected at common point.


 C1 continuity is achieved if two curves have common tangent.
 C2 continuity is achieved if two curves have common rate of change of tangent.

It is to be noted that curvature continuity, though double derivative, may not


necessarily be C2 continuous.

Problem with parameterization: Consider f(u)=A+u.(B-A), g(v)=B+v.(C-B), though the


curve is C1 continuous, still the parametric function will not imply this continuity. That is
why, we need to carefully use parameterization.

Arc length parameterization is the solution to solve this problem.

Two curves are Gk continuous at the joining point if and only if there exists two
parameterizations, one for each curve segments, such that all ith derivatives i less than
or equal to k, computed with these new parametrization at the joining point.

 If two curves are G1 continuous, they have common tangent at joining point.
But the converse is not true.
 So, two C1 curve segments are G2 continuous at the joining point if and only if
vector f’’(u) –g’’(v) is parallel to the tangent vector at the joining point.

Rational Curves: It is difficult to find parametric form of a closed curves like circle,
ellipse. So the approach is to use the homogeneous coordinates.
Bezier Curve: It is defined as a parametric curve, which uses Bernstein polynomial
functions as basis (weights) to the control points used to define the shape of the curve.

Properties: Partition of unity, Affine transformation, Convex hull property, Variation


diminishing property.

Degree Elevation: The Bezier curve provides the degree elevation without changing the
shape of the curve. This can be proven using induction by taking a curve C and its
derivative with conditions stating each point coincides.
𝒌 𝒌
𝑸𝒌 = .𝑷 𝒌 − 𝟏 + 𝟏 − 𝑷𝒌
𝒏+𝟏 𝒏+𝟏

B-spline Curve:

Motivation: Given the Bezier Curve, as a designer if you would like to bend the neck in
a curve, there is global effect on the shape of the curve. However, one can increase the
number of control points to minimize the global change in the shape. Increasing the
degree might not be interesting to follow as general protocol because of various
limitations. What is interesting to find is to construct the curve without worrying about
the degree.

Approach1: Using the multiple Bezier curve of lower degree to define the desired curve
would be one solution. But the continuity of the curves at the joining points has to be
taken care.

Approach2: If we can use new basis function based on the knots (joining) that can
automatically control the continuity of the curve at the joining points, we can achieve
the design intent of the user to edit curves without enhancing the degree.

B-spline Basis Functions: Definition

B-spline basis function is used in the same way as Bezier curve except that the domain
of the curve is sub-divided into domains bounded by knots, the basis functions.

Let U be the number of knots inserted into the domain. The knots may be spaced
uniform or non-uniform. There could be multiple knots inserted at a point. Also, it
might happen that there are no knots in certain segments of control polygon.

To define the basis function, the degree of these basis function with degree p. The i-th
B-spline basis function of degree p, written as Ni,p(u), is defined recursively as follows:
1 𝑢𝑖 ≤ 𝑢 ≤ 𝑢(𝑖 + 1)
𝑁𝑖, 0(𝑢) =
0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
𝑁𝑖, 𝑝 𝑢
𝑢 − 𝑢𝑖
= 𝑁𝑖, 𝑝 − 1 𝑢
𝑢 𝑖 + 𝑝 − 𝑢𝑖
𝑢 𝑖+𝑝+1 −𝑢
+ 𝑁 𝑖+1 , 𝑝−1 𝑢
𝑢 𝑖+𝑝+1 −𝑢 𝑖+1

 If degree is zero, the basis function is step function for the ith span [ui, u(i+1)).
 To compute Ni,1 we need Ni,0 and Ni+1,0.

 Finding Ni,p follows a recursive relation.

Thus, the knot span affecting the basis N0,5 could be viewed from the above
figure.

The linear interpolation for N0,2 using N0,1 and N1,1 could be viewed as :

 Basis function Ni, p is non-zero on the span [ui, u(i+p+1))


 On any knot span [ui, ui+1) , the set of non-zero basis is given by: N(i-
p),p N(i-p+1),p N(i-p+2),p …………….Ni,p.

 For clamped splines, number of knot vector elements would be n+p+1.

B-spline Curve Properties:

 B-spline curve is a piecewise curve with each curve of degree p.


o It allows constructions of low degree curve for the complex shapes. Lower degree curve
follows the control polygons.
 Equality m=n+p+1
 Clamped B-spline curve passes through the end points.
For the knot-span *u0, u(p+1)), u0=u1=u2……=up=0 , N0,0 N1,0 N2,0 …….N(p-1),0 are zero and
only Np,0 is not zero.
Consequently, N0,p=1 and first point coincides.
 C(u) is C(p-k) continuous at a knot of multiplicity of k.
 B-spline curve reduces to Bezier curve by keep (p+1) knots at each end, where p=n.

Knot Insertion:

It is the process of inserting a new knot into the existing set of knots without changing the shape of the
curve. In this process, as we do not want to change the degree of the curve, knot insertion process leads
to the removal and replacement of the existing set of control points along with addition of new control
point.

As the knot span [ui ui+1) affects the set of control points Pi, Pi-1, Pi-2……..Pi-p . By inserting new knot, these
set of control points would be affected. The goal is to find the new set of control points that would be:
Pi, Qi, Qi-1, Qi-2…………….Qk-p+1,Pk-p
t−ui
where Qi = 1 − α Pi − 1 + αPi, α = u i+p −ui

De boor’s Algorithm is the generalization of decasteljau’s algorithm, which provides the fast way of
finding a point on a curve for a given u in the domain. If the knot u is inserted at a multiplicity of
p(degree), the last generated control point is the point on the curve that corresponds to u.

For sub-division, as each knot affects p+1 control points, we insert the knot at u with multiplicity of p.

Full Circles:

Knot vectors are [0 0 0 1/3 1/3 2/3 2/3 1 1 1] && [0 0 0 ¼ ¼ ½ ½ ¾ ¾ 1 1 1]

You might also like