The Flow Approach To Swept Volume
The Flow Approach To Swept Volume
1-31-1993
Recommended Citation
Jiang, Haitao, "The flow approach to swept volume" (1993). Theses. 1767.
https://digitalcommons.njit.edu/theses/1767
This Thesis is brought to you for free and open access by the Electronic Theses and Dissertations at Digital
Commons @ NJIT. It has been accepted for inclusion in Theses by an authorized administrator of Digital Commons
@ NJIT. For more information, please contact [email protected].
Copyright Warning & Restrictions
Printing note: If you do not wish to print this page, then select
“Pages from: first page # to: last page #” on the print dialog screen
The Van Houten library has removed some of the
personal information and all signatures from the
approval page and biographical sketches of theses
and dissertations in order to protect the identity of
NJIT graduates and faculty.
ABSTRACT
by
Haitao Jiang
In this thesis, a method for representing swept volume based on the sweep
differential equation and sweep vector field flow is developed. This method can be
polygonal object undergoing a general smooth 2-D sweep. For any given sweep and
based on vector field behavior. The set of candidate boundary points is then trimmed
in order to obtain the true boundary of the swept volume. This trimming procedure
is based on some simple topological principles and it utilizes the concept of extended
sweep. This method is more general and efficient than existing approaches (e. g. it
can readily deal with the cases in which the swept volume area. has "holes") and can
easily be extended to 3-D sweeps; the 3-D extension is discussed but only briefly.
Several examples are given to illustrate the implementation of the prototype software
for 2-D sweeps which has been developed in conjunction with this research.
by
Haitao Jiang
A Thesis
Submitted to the Faculty of
New Jersey Institute of Technology
in Partial Fulfillment of the Requirements for the Degree of
Master of Science
Department of Mathematics
January, 1993
APPROVAL PAGE
Haitao Jiang
graduate advisor who introduced me into this interesting problem. I owe a lot to
him for his constant guidance, encouragement, patience, and help in turning my
ideas into rigorous mathematical expressions and proofs. He also helps me a lot on
Thanks are also due to professor M. C. Leu of the Department of Mechanical and
Industrial Engineering for his valuable insights into the problems. Also, I would like
who was always willing to help me on the programs and the machine environments.
My thanks to Mr. Kyung Geun Pak, who is a member of our research team, for
his ideas and good explanations of NC machining and robotics during our meetings.
Also, I would like to thank my friends: Xiaoming Xiong, Kang Wu, Feng Bao, Fei
Yu, Yongchun Liu, Chen Xu, Song Chen, Mingfu Fang and all the others, for their
The author was supported by an WIT research assistantship and NSF Grant
DDM-9114355 during the course of this research. This support is gratefully acknowl-
edged.
vi
TABLE OF CONTENTS
Chapter Page
1 INTRODUCTION 1
2 TEORETICAL PRELIMINARIES 13
3.3 The Global Trimming Procedure for the Candidate Boundary Points . 27
6 CONCLUSIONS 68
REFERENCES 73
vii
LIST OF FIGURES
Figure Page
viii
25 The boundary representation of swept volume in example 4.4 63
IX
CHAPTER 1
INTRODUCTION
The swept volume is the set of points in Euclidean space traversed by a solid object
of the swept volume of an object undergoing a rigid-body motion have many im-
There are several different solid modeling schemes for representing swept vol-
principle, contain all the geometric properties of the swept volume and automatically
depends on the applications for which it is intended; however, here we shall discuss
only the two most commonly used schemes, which are constructive solid geometry
nations of primitives through operators called regularized set union (Ս*), in-
tersection (∩*), difference (--* ) and complement (c*) [16]. The regularized set
results also in a valid solid. The primitives are the basic geometric objects on
which different solids are built: the commonly used primitives include blocks,
cylinders, cones and tori. The different. primitives that a system can support
binary tree, whose root represents the entire solid, whose leaves are the primi-
tives, and whose internal nodes are the regularized Boolean operations or rigid
motions. Each internal node can also be considered to represent a solid which is
the part of the entire solid obtained by applying the operation to its two sons.
The main advantage of this scheme is that it corresponds closely to how the
implicit form which requires the application programs to have some procedures
Boundary Representation
underlying manifolds of these surfaces are difficult to determine, they are often
of the most commonly used patches are the planar patch (which is a line segment
in 2—D space) and the bicubic patch. The main advantage of this scheme is
applications.
For the details and other solid modeling schemes, readers can refer to [17], [18], [19].
Much research has been done in order to evaluate the swept volume and obtain
study of using the PADL solid modeling system for simulation of NC programs (see
[221). Since PAM, uses Constructive Solid Geometry (CSG) to represent solids, the
cost of simulation is proportional to the fourth power of the number of tool move-
ments and this is computationally prohibitive. Drysdale, Jerard and their students
3
used surface discretization and normal vectors to indicate the geometry (see [8], [10]);
this is computationally more efficient than the CSG representation since its compu-
this method the cutter swept volume is not explicitly represented; instead the points
of intersection between the lines of surface normals and the cutter swept volume are
computed. The method of employing envelope theory to model the swept volume
bandan, etc. (see [20], [23], [24]). Due to its close relationship with our research, we
will briefly introduce the basic theory of the envelope method and describe the most
There are many equivalent ways to define the envelope of a family of curves:
varies, the curve is called the envelope (or part of the envelope if there are
Definition 1.2 If we have a family of surfaces (or curves), then the envelope
can be defined as another surface (or curve) that is tangent at each of its points
It is also useful to think of an envelope as the limit of the points in which neighboring
curves of the family intersect; this is sometimes taken as the definition of the envelope:
To find the envelope of a family, it is easy to prove from the definition that the points
Ft(x, t) = 0
F(x,
(1)
(2)
Once we have these two equations, the equation of the envelope of the family
we obtain y = +1, which is the equation of the envelope. This example is shown in
Figure 1.
The above concepts and methods can be easily extended to finding the envelope of
) = 0 (3)
(4)
(5)
If we want to apply the envelope theory directly to the problem of determining the
boundary of a swept volume, some difficulties may arise. A first difficulty may occur
in the process of obtaining the equation of the envelope; the locus found by the
process described above may contain curves other than the envelope. For instance
if the curves of the family F = 0 have singular points and if x = ϕ(t) is the locus
5
Figure 1 Envelope of a family of circles whose centers are along the x axis
6
of the singular points as t varies, (1.) and (2) will hold, thus the rule for finding the
envelope leads also to the locus of the singular points. Other extraneous factors may
also be introduced in performing the elimination. We must take special care in the
eliminaton process, otherwise not only may extraneous solutions be mistaken for the
precisely the result if we eliminate t from F = 0 and Ft = 0 of the first family. But
if we apply the same process to the second, we will find = 1 0, which does not.
The above process should be checked carefully using the implicit function theorem.
A second difficulty can occur when the actual object is a finite piece of an infinite
object. Direct application of the envelope equation often yields points which are not
on the boundary of the swept volume. This is illustrated in the following example.
Example 1.3 Consider the swept. volume of the line segment {I y l< 1,x = 0}.
where ( x0, y0) describes the inital position of the points. From the sweep equation
above, it is easy to derive the equation for the whole swept volume (or the family of
where xa(t), ya(t)), xb(t), yb(t)) are the positions of the end points at time t .
—
7
sin θ ]sin
[ 0θx ,]]y, t)
F(
Ft( sin0θξ:(ξ]
[ -= θ[-x θsin
x cos + θy+sinθcos
++
θ
ysinθ θ—η—ηsinθ
(—cosθ = 0 + η sinθ) = 0 (6)
) cosθ
(ξ)] (7)
Notice that
If θ ≠ 0, then:
= +-
[ -θ
==> = + -
==> = + ---------------------------------------
[ y ] [ η] θ [ θ
y 77 9. _ cos 0(e cos 0 + sin 0
[y] [ η[ ] x ] θ [ ξ ][ θ 1 [
ξθsin
When in θ=]θ(
in
4t, [xηξ] and
]θ ξθ[[η]y ξ]]=[[0 η θξ [] =
] [ x ][θ(t) [ θθ[swept
ξ ] π1+ t, ξthe θ cossin θ++ η+ sin
s θ volume η sin
sin θ)θ and
θ)][ cos0θ[thesinenvelope
θ in ηθ[s-i]n]θ θ]cos sin
]][θ+θθ]
[x] [θη]
θ[y][cosθsin(t)θθobtained
cos[ ]sin-θθθ(t)] θ[ξ] θcos,cos[from
sincos[ξ
θ ]
the above equations are shown in figures 2 and 3. One can clearly see the portion
of the envelope which is not part of the swept volume boundary; this is due to the
finite extent of the object undergoing the sweep, that is, the line family equation we
derived is in fact the equation of a line of infinite length which contains the swept
line segment.
The envelope we obtain thus is actually the envelope of the family of lines, which
also contains points which are outside the line segment being swept.
8
F( x , y, t) = 0
Ft( 0 :: x cosθ + y sinθ θ ++ —ηη sinθ
ξ(ξ sinθ ) =0
If the 0 = 0, then the equation for the envelope is undefined since we are dividing
by zero. Nevertheless, useful information can still be obtained from the equations.
θ =0 ==>
This system of equations may not have a solution at all or will have infinitely many
solutions if ξ . θ + η sinθ
A third difficulty lies in the fact that in order to obtain the envelope, one usually
needs to solve a system of nonlinear equations using numercial methods, which may
require large amount of CPU time. In this case, one may put some restrictions on
the shape of the object or on the type of sweep in order to simplify the problem (e.
g. [15]).
In one of the most recent and successful efforts using envelope theory. Samban-
mals, he adjusted the definition of the normal there in order to apply the envelope
criterion. Due to the difficulty of evaluating the velocity at given points, he used an-
other alternative which requires the computation of the instantaneous rotation center
of the motion at each time instant and then found the points on the boundary of
the object whose distances from the instantaneous rotation center are local extrema.
the problem is considered in the context of sweep differential equations and sweep
vector fields.
11
derivatives. These derivatives were checked to see if they were zero, and if
they were not zero, their sign had to be determined. This may cause numerical
difficulties and may not be completely reliable; in particular, the criterion will
not be applicable if all of the derivatives vanish, and it may produce incorrect
results when some of the derivatives are very close to zero in value. This may
• The trimming procedure developed by Sambandan can not deal with the case
when the swept volume has "holes ", i. e. when the boundary of a planar swept
volumes.
Recently, Blackmore and Leu [2], [3], [4], [5] have developed a very general method
for analyzing and representing swept volume which they called the sweep differential
equation approach. Their approach has several points in common with the envelope
method; in fact, it can be shown that the envelope method can be derived from the
sweep differential equation approach. The algorithm for computing planar swept vol-
ume which we develop in this thesis is directly based on the approach of Blackmore
and Len. It will be shown that this approach leads to several theoretical and compu-
volumes.
notations and definitions, as well as sonic basic theorems of the sweep differential
12
equation approach which will be used extensively in the succeeding chapters. The
sweep flow method, including our candidate boundary points selection criterion and
the implementation of the prototype software in the 2-D case which is based upon
the theory proposed in chapter 4. Some examples are also given to illustrate the
utility of our procedure. In chapter 5, we briefly discuss the extension of the sweep
flow method to the 3-D case. In chapter 6, we make some relevent observations
and remarks concerning the contents of this thesis and possible future research work.
CHAPTER 2
TEORETICAL PRELIMINARIES
In this chapter, we will introduce some notations and definitions, as well as some
basic theorems which will be used rather extensively in the sequel. For more details,
one can refer to [2] and [3]. The real numbers will be represented by R. Let Rn
Rn
‹x, y› = Σn
k yk and ║x║ = (x, x)1/2
k=1
ξn+ Ax, where ξ ϵ , and A ϵ SO(n ); here SO( n ) is the special orthogonal group
group E( n ) of rigid motions in the , which is initially the identity. Let at denote
the value of sweep at time t, t ϵ [0,1], then we can write the sweep equation:
σt (x) = A )x+ t t ξ( (
where : [0, 1] RI' and A : [0, 1] -4 SO(n) are continous and satisfy (0) = 0 and
A(0) = I. Here the use of the unit time interval [0,1] in our definition involves no
loss of generality, since the parameter can always be scaled to range between 0 and
1.
Definition 2.2 Let a be a sweep and Al be an object in R". The swept volume of
ϵ M,
S0( σt (x): x
M ) t=ϵ {[0,1]}
13
14
The sets σt(M) = {σt (x): x ϵ M} are the t.-sections of M generated by the sweep
ξ and A have continuous derivatives of all orders). The sweep vector field(SVF)
ξ
+
XσA(x,
AT t = (ξt(t)
)))ξ(t)) —
(x
= ξXσ
= x≡=ξ(t)
Xσ (x, t ) ) + A(+t ) A(t)AT(t)(x
A T ( t )(x — —
AT
dx/dt =1 sdx/t
associated with this vector field the sweep differential equation (SDE) of a. Here
the dot. denotes differentiation with respect to t and the superscript denotes the
the sweep vector field Xσ is independent, of time variable t. It can be shown (see [2])
x = Bx + c
Definition 2.5 The extended sweep differentail equation (E.51)12) of a is defined as:
15
X*σ u
where (x, t) and u ),1). X*σ is called the extended sweep vector field
(ESVF) of σ.
σ
Definition 2.6 If σt ξ1] → E( n)
: [0, n ) is a sweep defined by (t ) + A(t)x, the (x)
du/
mapping σ* : [0, 1] → x R defined by σ*(x,t) = (σ (x), s +t) is its extended
sweep. The sweep. The extended swept volume of the object M under the sweep σ is
u {ՍS*σs((Mσ):(s ϵ[M0,)1]} σ
= Sσ( M )II (S*σ (M))
==( ) * X = s
The connection between the swept volume and extended swept volume is given by
following lemma:
Lemma 2.1
II : RRn+1 → Rn
Where the projection II(x,t) is defined to be the natural projection onto the
ΣM
n→ :M x [0,1]
Sσ ( ) c
defined by
Σ( x,t ) = σt
• If x int ( M ) , then σt
ϵ = Σ x,t ϵ Int(Sσ(M)),
16
Here Int denotes the (topological) interior and Fr the frontier or boundary of a set.
Note that Int ( M )) and ∂M refer to subsets of M defined in terms of its manifold
a subset of
Int(Sσ (see [7] ). In particular, x ϵ if there exists an open
( σ U C))
neighborhood U of x in Rn such that , and x ϵ Fr , the frontier
Definition 2.8 A smooth sweep σ is regular with respect to (wrt) M if the smooth
mapping Σ is a homeomorphism
σ of M x [0,1] onto and is a smooth diffeomor-
phism on the interior of M x [0, 1]. We say that σ is regular periodic wrt M when
as described above. Suppose that, the sweep vector field Xσ(x,t) is nonvanishing on
σσt(M)
(M) and is transverse (not tangent) to the interior of
t(M) for every 0 ≤ l ≤ 1 .
projection II of the extended swept volume onto the swept volume is injectire (one-
Define
(8)
that is normal to σt ( M ) at every point t of the interval [0, 1]. It is easy to see
T (x, t) = 0 ( 9)
CHAPTER 3
In this chapter, we will introduce the basic theory of the sweep flow approach to the
Given an object M and smooth rigid sweep σ, and the sweep time in-
terval [0, 1], we want to obtain the boundary representation of the swept
The assumption of unit time interval [0, 1] here will result in no loss of generality,
Input:
Solid object M
ξ) (x— T A + ξ = σ =X x
18
19
Global trimming:
Boundary forming:
volume.
Output:
R
Boundary representation of the swept volume
The trimming process is necessarily global since the boundary patch of swept
volume at some time t i may belong to the interior of the swept volume at t j, where
tive implementation of the trimming procedure is the most challenging part of our
research.
It has been shown in Weld & Leu[25] ( see also [24] ) that for any given sweep σ,, if
U∂MSσ(∂M))
Sσ(M)==MSσ(
Sσ(M)
ϕ ∩ σt
if= M for t ϵ (0,1).
( M ) This means that the swept volume of the
of codimension 1 in the object M . In what follows, we shall assume that the object M
Blackmore & Leu [5] study the linear, circular and helical sweeps in which
constitute one special class of sweep which they call autonomous sweeps, and use a
technique they call the boundary flow method(BFM), which is based on the sweep
Our approach, which is also based on the sweep differential equations and sweep
vector fields can be viewed as the natural extension of the BFM to general sweeps.
At any time t, the boundary of the object M can be partitioned into three sets:
∂o M(t) is
Where ∂+M(t ) is called the instantaneous ingress point set, the set of
time t is directed into the interior of M , it is an instantaneous egress point if the sweep
ingress, egress or grazing point at time t. This may be done as follows: If x belongs
instantaneous ingress point, egress points or grazing point at time / according as the
two contiguous smooth portions of ∂M , then it can he assumed to have two normal
N12(x, t),
vectors—the normal vectors of the abutting smooth surfaces, say N ,(x,t). It
as the signs of T1 (x, t ) and T2 (x, t ) are both positive, both negative or otherwise,
respectively.
In general, a point x can belong to k surfaces which abut each other at x (e.
g. the vertex of a cube in 3-D space), then we can assign k normal vectors to it,
say N1
Nk , • , , and it is an instantaneous ingress point, egress points or
all negative or otherwise, respectively. A point x can also belong to a surface; but
have a 1-parameter family of normal vectors associated with it (e. g. the vertex of
a Tα
cone in 3-D space). The sign of the family can then be used to determine
ingress, egress and grazing points in the obvious way. Figure 5 is a 2-D example of
boundary partition.
Notice that the definition for a grazing point on smooth portions of 0i11 coincides
,Ntt (σt(x))
T (x, t) = (Xσ (σt(x),,(tt ) N0
,A (x)))
= (
=0 (1)
The relationship between grazing points and envelope points is given by the following
theorem:
Theorem 3.1 Given an object M undergoing a smooth sweep σ, the grazing points of
the smooth portion of ∂M(t) (Tide points that satisfy the tangency condition T (x, t) =
23
0, x ϵ ∂M ) as t ranges over [0,1] are the envelope points of the family σt(∂M ) ,
[0,1].
differential topology(
0 see [14] ), there exists an open
n neighborhood U of in and
F (x,t) = 0
R
where
The envelope points of the family {σt ( W )} are obtained from the equations
F(x, t )
Ft(x, = 0
) = 0
= AT (ξ( -ATσξξ(t))
∂/∂tf f (x( -)(x
)(x-
))), (x0
t(x0
AT( ),AT-) ) ξ(t))
[ȦAT(x
,(x
(x --ATξξ)
AT( - AT-ξ(t)ξ]
Xσ(x,
([AȦT(x - ξ) - ξ]›
t›)››,
( = ‹∇
Ft
Ft(x, t) = - ‹ ∇
= = σt(x0
,--t)‹‹∇Xσ(
KN ,
where N defines
x the normal family(x0)
x0 and K is a positive nonzero constant. Hence
0
0 Ft(σt( , t )) = K T ( ,t) (2)
and therefore we see that envelope points coincide with points satisfying T = 0. This
∂ M)
(t
(0)
(3)
(1) { ∂ Ս1
}
Ս∂ _σt=0 ∂+
Sσ(M) C
where t ϵ [0, 1]
Here we use C instead of = because of the global nature of the sweep process which
we mentioned before.
Proof. We first note that by the properties of the object M there exists a. piecewise
(x
on the ∇
exterior 0of M and ∇f f vanishes
(x0 on the boundary of M . This implies that the
∂∂
characterizes the t-sections of the swept volume of M as follows:
n ((0) {x ϵn
t ))Ս∂= {x : F(x,t)<
F(x,t)= 0}
intM
(t)
(t)
(t) = ϵextM
\ϵ
}
={x n : F (x, t)> 0
Let ϵ - ‹It
for some 0 ≤ t =≤ 1. is easy to see that ∂+
Xσ(σt(x0 + (1)U may
a contradiction, since the proof of the contradictory nature of the second supposed
0 F(x
As , to ) = 0,
0 we infer that F( , t o — ϵ)) < 0, which implies that belongs to
0o —
the interior of M(t ϵ). Hence there exist an open neighborhood Ս of such that
M
σto-c U C M( ( M ) C Sσ ( M )
This contradicts0our basic premise that ϵ ∂ Sσ , and this concludes the proof.
Corollary 3.1 Let σ be a linear, circular or helical sweep in. R3 such that Xσ has
Sao zeros in the object M and Sσ (∂M) has no self-intersections. Then the boundary
Proof. From the above theorem, the proof of this corollary is straightforward. Since
the linear, circular or helical sweeps in R3 have have been shown in [4] to constitute
the class of autonomous sweeps for which the sweep vector geld is independent of
(1) M ∂_ Ս + in((to
As there are no intersections, the global trimming is unnecessary ) case, and we
tothis
can use = instead of C in the formula (12). Thus the proof is complete.
27
The candidate boundary patch selection process results in a set of candidate boundary
patches which are guaranteed to contain the boundary of the swept volume.
patches which belong to the interior of the swept volume, we need an efficient way of
determining whether or not a patch belongs to the interior of some t-section of the
swept volume.
The global trimming procedure can also be viewed from the extended sweep
one can immediately see that a candidate boundary point x0 should not be kept if
the line x = xo intersects the interior of the extended swept volume. If this line does
not intersect the interior of the extended swept volume, but intersects the boundary
at more than one point, it may not be a boundary point; such cases will be handled
addition, we shall see that there are local trimming techniques which can immediately
Theorem 3.3 (Global Trimming Criterion) Let σ be a smooth sweep of the form(t)xandlryMξb(e+=oσjActwhianrezdbycon-
28
tinuous,
:= {x ϵ piecewise smooth function f n → R such that intM
M
1.
:f
(AT(t)(x
)ff(x)
iff =- ξ(t))).
(x) > 0}. Set Then
0}F(x,t)
and fx ϵ (U1
x
= satisfies
extM = {x∂0ϵM(t)Ս∂+M
t=0
following (0)Ս∂-M(1)
nconditions:
: is a point of a ∂Sσ (
F(x,t)> 0 V E[0,1]
2. If x satisfies (1) and F(x, ti) = 0 for more than one ti ϵ [0, 1] then it
should also satisfy following condition: ∀ nbd U of x, there exists y ϵ U such that.
Proof. The proof of this theorem is quite straightforward. From Theorem 3.2 as
"
{x (x,∂t)
F (x, 0} t)
M (t)<==
0}{x
intM(t)=
extM(t) = {x ϵ Rn:F(x,t)>0)
n R ϵ Rn
∀,
x ϵ {Ս1t=0 ∂ M satisfies F (x,t) ≥ 0,∀
if x also ϵ [0, 1],
x does not belong to the interior of any t—section of the swept volume, and so is a
point of ∂Sσ(M) except possibly for singular cases (one of which we illustrate using
∂∂-M+M
Ս2-D
Ս ∂Sσ
Ս∂∂-M
Ս Ս1t=0 ∂ 0M(t)
(0)
(1)
(M)0C { (t)
a} }
example in Figure 7). From Figure +M
7, we can see that even through x does
not belong to the interior of any t-section of the swept volume which means that it
satisfies condition (1), it still belongs to the interior of the swept (x)
volume and needs
< 0}∂M = {x ϵ n
to be trimmed. We notice that x satisfies F(x, ti) = 0 for more than one t i ϵ [0.1].
30
In these cases, we need to add condition (2) which means that no neighborhood of
Definition 3.1 Trimming those candidate boundary points which do not satisfy
the condition (1) is called initial global trimming. Secondary global trimming is the
elimination of those candidate boundary points which satisfy (1) but not (2).
∂ M
and the object. At time t, suppose xo belongs to the smooth portion of
M(t) and
Proof. We will prove only the case T(x o, t — At) > 0, since the proof of the second
case is analogous.
Let F(x, t) describe the object at time t with F(x,t) < 0, F(x, t) = 0 and
F (x, t ) > 0 representing the interior, boundary and exterior of object, respectively.
From the previous theorem, we know that if xo is a grazing point on the smooth
Rn
F(x , t) = 0
Ft (x00, t ) = 0
F(xo,
∆
∆ to — ∆t ) = — Ft (xo, to — ∆ t + o( )
31
So if T( ,t0 — ∆t ) > 0, from (11) and the fact that ∇ F points out of M , we know
that Ft (xo,t0 — ∆t )
(xo,t0 0, which implies that
(t0 )+
From which we can easily obtain the following result which is the "higher ordei
equation F (x) = 0 and let F (x) > 0 denote the region in which is
outside the solid generator. Let P be a. point on the face which satisfies
1. ∂k N ∂ 2.
0 ΣNk=2∂t
k + ΣNk=2 ∂= k/
positive.
= ∂k/k∂tF (—
(x
kFF(( t0 —+ ∆t
(-∆t ,,t0 )<0
o(│∆t│N)
o(│∆t│N
∆t
33
but the condition 2 is not satisfied, then Ս(P ) lies on the side of f that
contains the swept volume and hence need not be included in the type-2
Theorem 4.2. First, we observe that Theorem 4.2 applies to any grazing point on
it may be very difficult to find F (x, t) for even a simple object. M and sweep σ in
practice. It is, in general, much easier to check the sign of T (x,t ) than it is to
In this chapter, we will describe the implementation of the theory developed in chap-
ter 3 for evaluating the boundary representation of the swept volume generated by a
quence of its vertices in the order in which they are encountered when marching
counter-clockwise along its boundary. We observe that the configuration of the ob-
ject at any time t, which is denoted as M(t), is completely defined by the positions of
(t)), t
its vertices, ϵ [0,1],
say {(x i = 1, ..., m}.
(t),y The i th vertex of the polygon
will be denoted
, v by viii+1
(t ) which is (x i(t
(t )), yi (t)), and the ith edge which represents the
) is denoted
ordered pair v by ei (t )
The general 2-D smooth sweep σ will be defined by the sweep equation or the
x = ξXσ = ξ + Ȧ(t)AT(t)(x
(t ) - ξ) + A(t)xo (2)
(1)
where ξ : [0,1] → R2 and A : [0, 1] → SO(2) are smooth and satisfy ξ(0) = 0, and
ϵ
A(0) = I . Here R2 denotes the initial position of the point and x [0, 1]
ξ + θ [ 00] -1] (x - ξ) [1
(3)
34
35
For the direction of the edge normals, we choose those which point into the
T (x —ξ) A Ȧ + ) t ξ( = σ x=X
Step 2 For each edge ei, compute the edge normals (normal
time instants.
boundary curves.
We will discuss some steps in detail in the next section and the following example
Example 4.1 The object is the pentagon shown in figure 8. and the swept volume
Object description:
Sweep equation:
Here, we will describe in detail how to apply the sweep flow method to obtain a
set of candidate boundary points, and join them into candidate boundary curves by
making use of their geometric relationship. Let T(x, f) denote the clot, product of the
sweep vector and the normal vector at x on the boundary of Al (1) at time t. which
As we can see from equation (1), in order to determine the value of T(x, t), the
edge normal N (x,0) needs to be computed. This is quite easily done as follows: Let.
x ϵ ei and define
1] [0
/║N*(x)║
N*(x) (0x)i[—=-+1vN*]
Then
N(x, 0) =
38
The following result characterizes the grazing point sets on the edges of the object
being swept.
Lemma 4.1 Given a smooth. 2-D sweep and a polygonal object. At any given time
t ϵ [0,1], one and only one of the following is true for an edge excluding the vertices:
there is exactly one grazing point; or there are no grazing points; or every point is a
grazing point.
Proof. As we mentioned before, at any given time t, for each edge e; except at
its two vertices, the normal vector is constant which can be expressed as: N; (t) =
( N1(t ), N2(t )). From equation (14), the sweep vector at any given point x and time
T (x, t) =‹ σ,Xi›N =
=
= ,\T 2 x 1 θ.1 N02—
1x +N
Since x is on the edge ei, it must satisfy the edge equation which is in the form:
ax1 + bx2 =
Equations (16) and (17) constitute a pair of linear equations in the two unknowns
= θK
Where K = N2b + N1a ≠ 0. If θ ≠ ) a 1 N system
0, this linear N θ = unique solution
b+ 2 has
x = (x1, x 2 ), which means that in this case the grazing point on edge e i is unique if
exists (it does not exist if the point lies on the line (17) outside the edge). If θ = 0,
(16) and (17) either have no solution, or every point of the line (17) is a solution.
It follows from Theorem 3.2 proved in chapter 3 that the following procedure
At time 0, compute the normal vector Ni(x, 0) of each edge ei . Let Ti (vj ,t)
denote the dot product of the sweep vector at vertex v.; and the normal vector of
• If they are both greater than or equal to zero, then this edge as a whole belongs
portion of ∂M
e If Ti (vi ,t ) • Ti (vi+1,t ) < 0, then we can use some standard numerical algorithm
(e. g. bisection method) to find the grazing point x on the edge ei which satisfies
T(x,t) = 0. The portion from x to the vertex satisfying T < 0 is the egress
portion of this edge, and the other side is the ingress part.
In order to improve the efficiency, it is also very important to exploit the geo-
metric relationship between the candidate points in order to save the computational
work of forming the final boundary representation of the swept volume. The following
• During the sweep, the grazing point of an edge will move along the edge. Usually
it will start, at one of the end points and move to the other end. However, the
grazing point may start at an end and terminate at. an intermediate point or
begin at an intermediate point and end at a vertex, or even start and end at
• Because of the multiple normals at a vertex, there exist some time intervals
In the actual implementation, we use a double link structure to keep a record of the
geometric information connecting the candidate points. The link will be changed
In the 2-D case, global trimming requires a procedure for determining whether or
not a given candidate point lies within the interior of any of the polygonal t -sections
Algorithm 4.1 Given any polygon and a point in 2-D space. draw a ray from. this
Ti(vi , t )t)∙≤ 0, it is a grazing point.
Ti+1(vi,
point in any direction (for convience and efficiency, we adopt the upward direction
43
or downward direction). Count the number of intersections of the ray with the edges
of polygon. If this number is odd, then the point is inside the polygon; if it is even,
then it is outside the polygon. See figure 11. The count of the number of intersections
is done as follows: If the intersection does not coincide with the vertex of the edge,
add 1 to the intersection counter; Otherwise, there are the special cases for which the
Although a proof of this theorem can be obtained using quite basic results from
topology, we have not been able to find a complete proof in the literature. In the
Global trimming:
From the set of boundary points constructed by our algorithm, one can obtain a.
piecewise linear approximation to the boundary of the swept volume by linear in-
clear that the precision of this approximation can be controlled by the choice of the
subdivision of [0, 1] into time instants. Figure 12 the trimming result of example 1.1
Example 4.1 Figure 14-17 shows a pentagon undergoing a sweep for which the
swept volume produced has a hole, which means that the boundary of the swept
Object description:
Sweep equation:
[y] [4(t
-0.5) [ y] [8(t - 2
Example 4.2 In this example, we approximate a disk by a polygon, and thus obtain
Object description:
Sweep equation:
Example 4.3 Figures 22-25 are the same example which appears on the page SS of
[20].
Object description:
→
(-1.0,0.0) →
(1.0,0.0) (1.5, 1.0) → (0.0,2.0) (-1.5,0) →
Sweep equation:
[ x ] = [ 5t ] + [ cos(2.7πt) - sin(2.7πt) ] [ x ]
51
1 [ =x ] [+
=5.0[ 5.0
y ] ]= [ 5.0
+2.7(x
] [ -2.7(y
[ 2.7(y—- 5.0t)-5.0t)
5.0t) _
52
In this chapter, we will briefly describe how our general solution procedure can be
applied to 3-D space. Although our sweep flow method has no restriction on the
shape of the object, we still want to concentrate our attention on polyhedra because
they are more readily handled. We note that any reasonably smooth 3-D object
representation of the swept volume is then a close approximation to the actual swept
volume boundary.
of solid models to model the polyhedral object we want to sweep. There are several
data structures which can be used to represent the topological information of the
solid models. We plan to use the edge-based graph data stuctures which include the
well known winged-edge structure [1] and its variations. For more details, refer to
[27].
The general smooth 3-D sweep and sweep differential equation will also be
represented as:
x = Xσ = ξ + A(t)AT(t)(x-ξ) (2)
Where x = ξ(t)are
ξ : [0, 1] → R3 and A : [0, 1] → SO(3) + A(t)x0
smooth and satisfy "(0) = 0, and (1)
A(0) = I. Here x0 ϵ R3 denotes the initial position of the point and x : [0, 1] → R3
derive (19) from (18). For the six degrees of freedom of 3-D Euclidean motions, the
64
65
x ]= ξ (t)
[ ) +[ 0ξA(t
1(t x0αcß [ 0 ξ[1(t)]
] + [ )α-γsx -α0 ξ2(t αcß] [ x2 - ξ2[cαcß
+ßcα + γsγsα ] [ ξßcα +[ ξγsαcß]
2(t)]
cαsßsγ+3(t)]- [sαcß ßξ3[(t)]x1+ [cαcγ
sαsγ[ -ssαsßsγ
[ cαsßcγ ξß-1]
-+ cßsγ γs+αcßsαsßcγ
- sαsγ sß]α +-γsαsαsγ
- cßsγ cß ]] 0 ] [ x3 - ξ3 ]
Where cα = cos α, sα = sin α, etc., ξ1(t),ξ2(t),ξ3(t) are the three components of the
translational motion with respect to the fixed world coordinate system, and α,
are the euler angles which specify the rotation angles of the object with respect to its
original orientation. With some computational work, the sweep differential equation
+A
Our 3—D evaluation process, which is also based on the general process described
in chapter 3, is similar to the 2—D case, but is much more complicated. We describe
it briefly as follows:
• Step 1. Input the polyhedral object. M, a smooth 3—D sweep which is repre-
sented by sweep equation or sweep differential equation in the form of (1) and
• Step 2. For each planar boundary surface, compute the surface normals (nor-
malized and inward directed). We note that all these normals are constant on
the planar surface to which they belong. The normals of edges and vertices will
be specified as
— edge: we assign two normal vectors of two surfaces which intersect at this
edge.
— vertex: we assign all the normal vectors of the surfaces which intersect at
this vertex.
66
From Steps 1 and 2 above, we obtain the normal (or normals) of every boundary
point at time 0. It is very easy to compute and check the Tangency Condition T(x, t)
By Theorem 3.2, the boundary of the swept volume satisfies the following formula:
Here, at each given time instant,∂0M(t) is the set of instantaneous grazing points and
∂+M(0) and ∂-M(1) , which are the instantaneous ingress portion and instantaneous
planar patches.
• Step 3. Subdivide the time interval [0, 1] into a finite number of segments
and discretize it into a finite number of triangular planar patches which are
For each time instant, do Steps 5, 6 and 7 below. We note that in the ∂M case, our
global trimming algorithm is so fast and simple that the local trimming procedure
does not seem to be necessary. But, in the 3-1) case, since the global trimming will
be very complicated and require a. great deal of computation, the local trimming
procedure which is relatively simple and easy, will become very critical in terms of
those instantaneous grazing points which are not valid boundary curves.
67
and discretize it into a. finite number of triangular planar patches which are
• Step 8. Collect all those points obtained in steps 4, 5 and 6 and organize them
into groups of points belonging to surfaces. These are the candidate boundary
surfaces.
• Step 10. Global trimming: Due to the global nature of the general sweep, we
need to eliminate those candidate points which belong to the interior of the
swept volume So (M) = U1t=0 M(t). As in the 2-D case, this will include initial
• Step 11. Connect the remaining candidate points to form a. set of boundary
• Step 12. Use the output of the previous steps and various graphics techniques
CONCLUSIONS
general sweep. By using the sweep differential equation to characterize the sweep,
basic steps: First, classify the boundary points of the sweeping object based on
their relationship with the sweep flow field, and thus produce a set of candidate
boundary patches. Then, apply a local trimming operation to remove some of the
candidate boundary points which are not members of the boundary of the swept
volume. Finally, due to the global nature of the general sweep, a. global trimming
procedure is needed to remove the remaining candidate boundary patches (or portions
of candidate boundary patches) which belong to the interior of the swept volume. The
final boundary representation of the swept volume is then formed by the boundary
identifies valid boundary patches in an efficient. manner. Our general global trimming
criterion includes both initial global trimming and secondary trimming; secondary
global trimming is used to deal with singular cases that seem to have escaped the
Based on the general evaluation procedure, 2-D prototype software winch in-
corporates a very efficient 2-D global trimming algorithm has been developed. The
program produces good approximations to the boundary of the swept volume of any
planar polygonal object undergoing a. general smooth sweep. Although it is clear that
the precision of the approximation can be controlled by adjusting the partition of the
time interval and also by selecting the method to connect the boundary points, we
68
69
have not vet made a thorough error analysis. Compared with other programs, our
method seems to be more efficient and general; for example, it readily handles cases
in which the boundary of the swept volume has more than one component. We also
tested the program on shapes for which the object boundary is not a polygon, e. g.
precision of polygonal object approximation and the precision of the resulting swept
volume approximation, and how to control the approximation of the object for more
The application of the general process to the 3-D case, which is very similiar to
the 2-D case but certainly will be much more complicated, is also briefly described.
To actually develop the 3-D prototype software, many interesting problems await
further research: e. g., rapidly computing the grazing curves, devising an efficient 3-
D global trimming algorithm, and combining the sweep differential equation theory
A proof of a part of this result is outlined in the exercises in [9]. We first recall the
manifolds and
f : X Y→
a continous mapping. It is well-known(see [21]) that for any x E X, the nth homology
Hn( X, X \ x; Z 2 ) 2 Z ≈
* ) f*→ :Hn(Y,Y\
Hn(X, X \x;
(1)Z Z2 2)
f (x);
2 2 Z → 2 Z : * f
= f
deg
consists only of points at which f is smooth and the derivative D f(x) is invertible.
By compactness, it follows that f -1 (y) is finite if y is a regular value(see [9] and [13))
and
f = # deg
70
71
In addition, Sard's Theorem implies that the set of regular values is dense in Y , so
sphere Sn. By the Jordan-Brouwer Separation Theorem(see [9], [13] and [21]), X
has an inside and outside. If x0 ϵ Rn+1\ X, there is a simple method based on degree
xx0x0
x0
radius e > 0 that is centered at xo and does not intersect X. We can map X into
S,(x0 ) by radial projection along rays emanating from . For t ϵ X, this map is
easily seen to be defined by
0║/ ║x — ϵ( — )
f (x) = +
:: X → Sϵ
∂M(t) →
is clearly continuous and piecewise smooth. In fact, it only fails to be smooth at faces
It is easy to characterize the regular values of the radial projection .1. as follows:
y ϵ Sϵ( xx0
x0) is regular if the ray from xo through y does not intersect any edges of
the polyhedron X. At this point, a proof of Algorithm 1.1 is easily within reach, and
Let ϵ R2\ ∂M(t) and X be the 1-dimensional polygonal closed curve ∂M(t).
0 from
Draw a ray in any direction. If this ray does not intersect a vertex of X , the
0
corresponding
0 point y ϵ ( )) is a regular value of the radial projection
72
If the ray has an odd number of intersections with≠ ∂M ( t ) , then deg2 0 and xo
a . The special case 1.1, 1.2, 2.1 and 2.2 correspond to situations where y is
regular value since the regular values are dense. Observe that a small rotation of the
ray in case 1.1 yields an intersection with one less edge and this adds one to the count
modulo 2. For case 1.2, a small perturbation produces an intersection with either the
same number of edges or two fewer edges, and this adds zero to the count modulo 2.
Cases 2.1 and 2.2 clearly yield to the same perturbation analysis, and thus the proof
is complete.
REFERENCES
[2] Blackmore, D., and M. C. Leu. 1990. "Analysis of Swept Volume Via Lie Groups
and Differential Equations. "Intl. J. of Robotics Research ( to appear ).
[3] Blackmore, D., and M. C. Leu. 1990. "A Differential Equation Approach to
Swept Volumes."Proc. Rennselaer's Second Intl Conf. on Computer In-
tegrated Manufacturing. Troy:143-149.
[4] Blackmore, D., and M. C. Leu. 1991. "Sweep Differential Equation Analysis of
Multiaxis NC Machining."( preprint ).
[5] Blackmore, D., M. C. Leu, and K. K. Wang. 1992. "Application of Flows and
Envelopes to NC Machining. "Annals of the CIRP.
[7] Christenson, C. 0., and W. L. Voxman. 1977. Aspects of Topology. New York:
Marcel Dekker.
[8] Drysdale, R., R. Jerard, B. Schaudt, and K. Hauck. 1989. "Discrete Simulation
of NC Machining."Algorithmica, 4:33-60
[10] Jerard, R., and R. Drysdale. 1991. "Method for Geometric Modeling, Simulat-
ion and Spatial Verification of NC Machining Programs." Product. Modeling
for Computer Aided Design. Amsterdam, North Holland, 1-14.
[11] Kedem, G., R. Marisa, J. Menon, and H. Voelcker. 1990. Ray Representation
for Swept and Offset Solids. Tech. Report CPA 90-2, College of Engineer-
ing, Cornell University.
[13] Milnor, J. 1965. Topology from the Differentiable Viewpoint. University Press of
Virginia, Charlottesville.
73
74
[15] Narvekar, A. P. 1991. Representation and Application of Swept Solids for Nu-
mercially Controlled Milling. Master's Thesis, Department of Mechanical
and Aerospace Engineering, State University of New York at Buffalo,
Buffalo, NY.
[17] Requicha, A. A. G. 1977. "Mathematical Models of Rigid Solid Objects. " Tech-
nical Memo TM-28. Production Automation Project, University of
Rochester, Rochester, NY.
[22] Sungertekin, U., and H. Voelcker. 1986. "Graphical Simulation and Automatic
Verification of NC Machining Programs. "Proc. IEEE Int 'l. Conf. on
Robotics and Automation: 157-165.
[24] Wang, W. P., and K. K. Wang. 1986b. "Geometric Modeling for Swept Volume
of Moving Solids."IEEE Computer Graphics and Applications. 6(12): 8-
17.
[25] Weld, J. D., and M. C. Leu. 1990. "Geometric Representation of Swept Volume
with Application to Polyhedral Objects."Inter'l Journal of Robotic Re-
search. 9:105-107.
75
[26J Wilson, E. B. 1911. Advanced Calculus. Dover Publication INC., New York.
[27] Weiler, K. 1985. "Edge-Based Data Structures for Solid Modeling in Curved-
Surface Environment." IEEE Computer Graphics and Applications. 1: 21-
40.