Sie sind auf Seite 1von 45

Farouki

geometry and computing 1 geometry and computing 1


Introduction to Pythagorean-hodograph curves
 Rida T.Farouki
By virtue of their special algebraic structures, Pythagorean-hodograph (PH) curves offer
unique advantages for computer-aided design and manufacturing, robotics, motion control,
path planning, computer graphics, animation, and related fields. This book offers
a comprehensive and self-contained treatment of the mathematical theory of PH curves,

Pythagorean-
including algorithms for their construction and examples of their practical applications.
Special features include an emphasis on the interplay of ideas from algebra and geometry
and their historical origins, detailed algorithm descriptions, and many figures and worked

Pythagorean-Hodograph Curves
examples. The book may appeal, in whole or in part, to mathematicians, computer scientists,
and engineers.

Rida T. Farouki
Hodograph Curves
Algebra and Geometry Inseparable
Department of Mechanical & Aeronautical Engineering,
University of California, Davis
ISBN 978-3-540-73397-3



ISBN 978-3-540-73397-3 (2008) 728 pp. + 204 illustrations

Pythagoras, tyrant of Selinunte rational arc-length parameterization is impossible

Theorem. It is impossible to parameterize any plane curve,


b2 other than a straight line, by rational functions of its arc length.
c
a c2

rational parameterization r(t) = (x(t), y(t)) =⇒ curve points can


b a2
be exactly computed by a finite sequence of arithmetic operations

arc length parameterization r(t) = (x(t), y(t)) =⇒ equal parameter


It is hard to let go of Pythagoras. He has meant so much to so many increments ∆t generate equidistantly spaced points along the curve
for so long. I can with confidence say to readers of this essay: most
of what you believe, or think you know, about Pythagoras is fiction, simple result but subtle proof — Pythagorean triples of polynomials,
much of it deliberately contrived. integration of rational functions, and calculus of residues
M. F. Burnyeat, London Review of Books (2007)
R. T. Farouki and T. Sakkalis (1991), Real rational curves are not “unit speed,”
Comput. Aided Geom. Design 8, 151–157

R. T. Farouki and T. Sakkalis (2007), Rational space curves are not “unit speed,”
May 17, 1990 . . . . . . . . . . . . . . . May 17, 2010 Comput. Aided Geom. Design 24, 238–240

T. Sakkalis, R. T. Farouki, and L. Vaserstein (2009), Non–existence of rational arc length


— a truly remarkable 20-year coincidence — parameterizations for curves in Rn , J. Comp. Appl. Math. 228, 494–497
arc length parameterization by rational functions? rational arc-length parameterization?

X(t) Y (t)
rational parameterization arc–length parameterization x(t) = , y(t) = with gcd(W, X, Y ) = 1 , W (t) �= constant
W (t) W (t)

x�2(t) + y �2(t) ≡ 1 ⇒ (W X � − W �X)2 + (W Y � − W �Y )2 ≡ W 4


� �
u2 − v 2 2uv
(x,y) Pythagorean triple ⇒ (x�, y �) = ,
∆s u2 + v 2 u2 + v 2
� �
u2 − v 2 2uv
are x(t) = dt , y(t) = dt both rational?
u2 + v 2 u2 + v 2
+–×÷ ∆s = ∆t
N � mi
f (t) � Cij C̄ij
= +
g(t) i=1 j=1
(t − z i )j (t − z̄i)j
t ∆t �
f (t) f (t)
Ci1 = residue , dt is rational ⇐⇒ Ci1 = C̄i1 = 0
t=zi g(t) g(t)

� � �
+∞
f (t) f (t) �� parametric speed of curve r(ξ)
dt = 2πi residue
−∞ g(t) g(t) �t=zi
Im(zi )>0 ds
σ(ξ) = |r�(ξ)| = = derivative of arc length s w.r.t. parameter ξ


rational indefinite integral ⇐⇒ zero definite integral = x�2(ξ) + y �2(ξ) for plane curve

� � = x�2(ξ) + y �2(ξ) + z �2(ξ) for space curve
u2 − v 2 2uv
proof by contradiction: x(t) = dt , y(t) = dt
u2 + v 2 u2 + v 2 σ(ξ) ≡ 1 — i.e., s ≡ ξ — for arc-length or “natural” parameterization,
assume both rational with u(t), v(t) �≡ 0 and gcd(u, v) = 1 but impossible for any polynomial or rational curve except a straight line

choose α, β so that deg(αu + βv)2 < deg(u2 + v 2) irrational nature of σ(ξ) has unfortunate computational implications:

(αu + βv)2 • arc length must be computed approximately by numerical quadrature
dt = 21 (α2 − β 2) x(t) + αβ y(t) + 12 (α2 + β 2) t is rational
u2 + v 2
• unit tangent t, normal n, curvature κ, etc, not rational functions of ξ
� +∞
(αu + βv)2 [ α u(t) + β v(t) ]2
⇒ dt = 0 ⇒ ≡ 0 • offset curve rd(ξ) = r(ξ) + d n(ξ) at distance d must be approximated
−∞ u2 + v 2 u2(t) + v 2(t)
• requires approximate real-time CNC interpolator algorithms, for motion
contradicts u(t), v(t) �≡ 0 or gcd(u, v) = 1 along r(ξ) with given speed (feedrate) V = ds/dt



curves with “simple” parametric speed 
 c
b 





Although σ(ξ) = 1 is impossible, we can gain significant
� advantages a
by considering curves for which the argument of x �2 (ξ) + y �2 (ξ) or

x�2(ξ) + y �2(ξ) + z �2(ξ) is a perfect square — i.e., polynomial curves
a, b, c = real numbers
whose hodograph components satisfy the Pythagorean conditions

choose any a, b → c = a2 + b2
x (ξ) + y (ξ) = σ (ξ)
�2 �2 2
or x (ξ) + y (ξ) + z (ξ) = σ (ξ)
�2 �2 �2 2

a, b, c = integers
for some polynomial σ(ξ). To achieve this, the Pythagorean structure  2 2
must be built into the hodograph a priori, by a suitable algebraic model.  a = (u − v )w
2 2 2
a +b =c ⇐⇒ b = 2uvw

c = (u2 + v 2 )w

planar PH curves — Pythagorean structure of r�(t) achieved through


complex variable model a(t), b(t), c(t) = polynomials

 2 2
 a(t) = [ u (t) − v (t) ] w(t)
spatial PH curves — Pythagorean structure of r�(t) achieved through 2 2 2
a (t) + b (t) ≡ c (t) ⇐⇒ b(t) = 2 u(t)v(t)w(t)

quaternion or Hopf map models c(t) = [ u2 (t) + v 2 (t) ] w(t)
K. K. Kubota, Amer. Math. Monthly 79, 503 (1972)
higher dimenions or Minkowski metric — Clifford algebra formulation

hodograph of curve r(t) = derivative r�(t) Pythagorean-hodograph (PH) curves

r(t) is a PH curve in Rn ⇐⇒ coordinate components of r�(t)


are elements of a “Pythagorean (n + 1)-tuple of polynomials”

PH curves exhibit special algebraic structures in their hodographs


curve

• rational offset curves rd(t) = r(t) + d n(t)


� t
velocity vectors
• polynomial arc-length function s(t) = |r�(τ )| dτ
0

� 1
• closed-form evaluation of energy integral E = κ2 ds
hodograph 0

• real–time CNC interpolators, rotation-minimizing frames, etc.

Pythagorean structure: x�2(t) + y �2(t) = σ 2(t) for some polynomial σ(t)


generalize PH curves to non-Euclidean metrics & other functional forms
planar offset curves offsets to Pythagorean–hodograph (PH) curves

(y �(t), −x�(t)) offset


plane curve r(t) = (x(t), y(t)) with unit normal n(t) = �
x�2(t) + y �2(t)

offset at distance d defined by rd(t) = r(t) + d n(t) algebraic curves

rational curves
• defines center–line tool path, in order to cut a desired profile
polynomial curves
• defines tolerance zone characterizing allowed variations in part shape
PH curves
• defines erosion & dilation operators in mathematical morphology,
image processing, geometrical smoothing procedures, etc.

• offset curves typically approximated in CAD systems

• PH curves have exact rational offset curve representations

offset curve trimming procedure

Left: untrimmed offsets obtained by sweeping a normal vector of length


d around the original curve (including approrpiate rotations at vertices).
Right: trimmed offsets, obtained by deleting certain segments of the
Left: self-intersections of the untrimmed offset. Right: trimmed offset,
untrimmed offsets, that are not globally distance d from the given curve.
after discarding segments between these points that fail the distance test.
intricate topology of parallel (offset) curves

y = x4

"innocuous" curve offset distance = 1 offset distance


4 cusps, 6 self–intersections < dcrit = dcrit > dcrit

Bezier control polygons of rational offsets offsets exact at any distance


offset curve geometry governed by Huygens’ principle (geometrical optics)

polynomial arc length function s(ξ) The cumulative arc length s(ξ) is then the polynomial function

� ξ n
� � �
for a planar PH curve of degree n = 2m + 1 specified by n
s(ξ) = σ(τ ) dτ = sk (1 − ξ)n−k ξ k ,
k
r�(ξ) = (x�(ξ), y �(ξ)) = (u2(ξ) − v 2(ξ), 2u(ξ)v(ξ)) where 0 k=0

m
� � � m
� � � of the curve parameter ξ, with Bernstein coefficients given by
m m
u(ξ) = uk (1 − ξ)m−k ξ k , v(ξ) = vk (1 − ξ)m−k ξ k ,
k k k−1
k=0 k=0
1�
s0 = 0 and sk = σj , k = 1, . . . , n .
n j=0
the parametric speed can be expressed in Bernstein form as

� � Hence, the total arc length S of the curve is simply


2m
� 2m
σ(ξ) = |r (ξ)| = u (ξ) + v (ξ) =
� 2 2
σk (1 − ξ)2m−k ξ k ,
k σ0 + σ1 + · · · + σn−1
k=0 S = s(1) − s(0) = ,
n
� �� �
m m and the arc length of any segment ξ ∈ [ a, b ] is s(b) − s(a). The result is
min(m,k)
� j k−j exact, as compared to the approximate numerical quadrature required
where σk = � � (uj uk−j + vj vk−j ) .
n−1 for “ordinary” polynomial curves.
j=max(0,k−m)
k
inversion of arc length function — find parameter value ξ∗
at which arc length has a given value s∗ — i.e., solve equation

s(ξ∗) = s∗

note that s is monotone-increasing with ξ (since σ = ds/dt ≥ 0 )


and hence this polynomial equation has just one (simple) real root
∆s = constant
— easily computed to machine precision by Newton-Raphson iteration
S=8

Example: uniform rendering of a PH curve — for given arc-length


increment ∆s,find parameter values ξ1, . . . , ξN such that

s(ξk ) = k ∆s , k = 1, . . . , N .
(0)
With initial approximation ξk = ξk−1 + ∆s/σ(ξk−1), use Newton iteration
(r) S = 22/3
(r+1) (r) s(ξk ) ∆t = constant
ξk = ξk − (r)
, r = 0, 1, . . .
σ(ξk )
exact arc lengths uniform arc–length rendering
Values ξ1, . . . , ξN define motion at uniform speed along a curve
— simplest case of a broader class of problems addressed by
real–time interpolator algorithms for digital motion controllers.

planar PH curves — complex variable model summary of planar PH curve properties



 x (t) = h(t) [ u (t) − v (t) ]
 � 2 2
• planar PH cubics are scaled, rotated, reparameterized segments of a
x�2(t) + y �2(t) = σ 2(t) ⇐⇒ y (t) = 2 h(t)u(t)v(t)

unique curve, Tschinhausen’s cubic (caustic for reflection by parabola)

 σ(t) = h(t) [ u2(t) + v 2(t) ]
• planar PH cubics characterized by intuitive geometrical constraints on
Bézier control polygon, but not sufficiently flexible for free-form design
usually choose h(t) = 1 to define a primitive hodograph

gcd(u(t), v(t)) = 1 ⇐⇒ gcd(x�(t), y �(t)) = 1 • planar PH quintics are excellent design tools — can inflect, and match
first–order Hermite data by solving system of three quadratic equations
if deg(u(t), v(t)) = m, defines planar PH curve of odd degree n = 2m + 1
• select “good” interpolant from multiple solutions using shape measure
— arc length, absolute rotation index, elastic bending energy
planar PH condition automatically satisfied using complex polynomials
• generalizes to C 2 PH quintic splines smoothly interpolating sequence
w(t) = u(t) + i v(t) maps to r�(t) = w2(t) = u2(t) − v 2(t) + i 2 u(t)v(t) of points p0, . . . , pN — efficient complex arithmetic algorithms

• theory & algorithms for planar PH curves have attained a mature stage
→ formulation of efficient complex arithmetic algorithms
of development
for the construction and analysis of planar PH curves
curves with two-sided rational offsets
W. Lü (1995), Offset-rational parametric plane curves, Comput. Aided Geom. Design 12, 601–616 offset is algebraic curve of degree 6 with implicit equation

parabola r(t) = (t, t2) is simplest example


fd(x, y) = 16 (x2 + y 2) x4 − 8 (5x2 + 4y 2) x2y
� − (48d2 − 1) x4 − 32 (d2 − 1) x2y 2 + 16 y 4
s2 − 16 s ∈ (−∞, 0)
t = : → t ∈ (−∞, +∞)
16 s s ∈ (0, +∞) + [ 2 (4d2 − 1) x2 − 8 (4d2 + 1) y 2 ] y
+ 4 d2(12d2 − 5) x2 + (4d2 − 1)2y 2
defines a “doubly-traced” rational re-parameterization
+ 8 d2(4d2 + 1) y − d2(4d2 + 1)2 = 0
� �
Xd(s) Yd(s)
2 (n − 1)(n − 2) = 10 double points
1
two-sided offset rd(s) = r(s) ± d n(s) = , is rational : genus = 0 ⇒
Wd(s) Wd(s)
one affine node + six affine cusps
Xd(s) = 16 (s4 + 16d s3 − 256d s − 256) s ,
“non–ordinary” double point at infinity with
Yd(s) = s6 − 16s4 − 2048d s3 − 256s2 + 4096 , double points in first & second neighborhoods
Wd(s) = 256 (s2 + 16) s2 .

generalized complex form (Lü 1995) characterization of spatial Pythagorean hodographs

R. T. Farouki and T. Sakkalis, Pythagorean–hodograph space curves, Advances in Computational


h(t) = real polynomial, w(t) = u(t) + i v(t) = complex polynomial Mathematics 2, 41–66 (1994)


 x�(t) = u2(t) − v 2(t) − w2(t)

 �
� y (t) = 2 u(t)v(t)
x�2(t) + y �2(t) + z �2(t) = σ 2(t) ⇐=
polynomial PH curve r(t) = h(t) w2(t) dt 
 z �(t) = 2 u(t)w(t)


� σ(t) = u2(t) + v 2(t) + w2(t)
two-sided rational offset curve r(t) = ( k t + 1 ) h(t) w2(t) dt only a sufficient condition — not invariant with respect to rotations in R3

R. Dietz, J. Hoschek, and B. Jüttler, An algebraic approach to curves and surfaces on the sphere
h(t) = 1 and w(t) = 1 → parabola and on other quadrics, Computer Aided Geometric Design 10, 211–229 (1993)

H. I. Choi, D. S. Lee, and H. P. Moon, Clifford algebra, spin representation, and rational
h(t) linear and w(t) = 1 → cuspidal cubic parameterization of curves and surfaces, Advances in Computational Mathematics 17, 5-48 (2002)

k = 0 and h(t) = 1 → regular PH curve 
 x�(t) = u2(t) + v 2(t) − p2(t) − q 2(t)

 �
y (t) = 2 [ u(t)q(t) + v(t)p(t) ]
x�2(t) + y �2(t) + z �2(t) = σ 2(t) ⇐⇒
 z �(t) = 2 [ v(t)q(t) − u(t)p(t) ]

describes all polynomial curves with rational offsets 

σ(t) = u2(t) + v 2(t) + p2(t) + q 2(t)
spatial PH curves — quaternion & Hopf map models summary of spatial PH curve properties

quaternion model (H → R3) A(t) = u(t) + v(t) i + p(t) j + q(t) k • all spatial PH cubics are helical curves — satisfy a · t = cos α
(where a = axis of helix, α = pitch angle) and κ/τ = constant
→ r�(t) = A(t) i A∗(t) = [ u2(t) + v 2(t) − p2(t) − q 2(t) ] i
• spatial PH cubics characterized by intuitive geometrical constraints
+ 2 [ u(t)q(t) + v(t)p(t) ] j + 2 [ v(t)q(t) − u(t)p(t) ] k on Bézier control polygons

• spatial PH quintics well-suited to free-from design applications


— two-parameter family of interpolants to first-order Hermite data
Hopf map model (C → R ) α(t) = u(t) + i v(t), β(t) = q(t) + i p(t)
2 3

→ (x�(t), y �(t), z �(t)) = (|α(t)|2 − |β(t)|2, 2 Re(α(t)β(t)), 2 Im(α(t)β(t))) • optimal choice of free parameters is a rather subtle problem
— one parameter controls curve shape, the other total arc length

equivalence — identify “i” with “i” and set A(t) = α(t) + k β(t) • generalization to spatial C 2 PH quintic splines is problematic
— too many free parameters!
both forms invariant under general spatial rotation by θ about axis n • many interesting subspecies — helical polynomial curves,
“double” PH curves, rational rotation-minimizing frame curves, etc.

special classes of spatial PH curves rational rotation–minimizing frame (RRMF) curves

rational frames (t, u, v) with angular velocity satisfying ω · t ≡ 0


helical polynomial space curves RRMF curves are of minimum degree 5 (proper subset of PH quintics)
satisfy a · t = cos α (a = axis, α = pitch angle) and κ/τ = tan α identifiable by quadratic (vector) constraint on quaternion coefficients

all helical polynomial curves are PH curves (implied by a · t = cos α) useful in spatial motion planning and rigid–body orientation control
all spatial PH cubics are helical, but not all PH curves of degree ≥ 5

“double” Pythagorean–hodograph (DPH) curves

r�(t) and r�(t) × r��(t) both have Pythagorean structures


— have rational Frenet frames (t, n, b) and curvatures κ RMF

Frenet
all helical polynomial curves are DPH — not just PH — curves
all DPH quintics are helical, but not all DPH curves of degree ≥ 7
� �
rational Pythagorean-hodograph curves X(t) Y (t)
rational unit normal to planar curve r(t) = ,
W (t) W (t)
J. C. Fiorot and T. Gensane (1994), Characterizations of the set of rational parametric curves with rational
offsets, in Curves and Surfaces in Geometric Design AK Peters, 153–160 2a(t)b(t) a2(t) − b2(t)
nx(t) = , ny (t) =
H. Pottmann (1995), Rational curves and surfaces with rational offsets, Comput. Aided Geom. Design a2(t)
+ b2(t) a2(t) + b2(t)
12, 175–192

• employs dual representation — plane curve regarded as envelope equation of tangent line at point (x, y) on rational curve
of tangent lines, rather than point locus
f (t)
�(x, y, t) = nx(t) x + ny (t) y − = 0
• offsets to a rational PH curve are of the same degree as that curve g(t)

• admist natural generalization to rational surfaces with rational offsets ∂�


envelope of tangent lines — solve �(x, y, t) = (x, y, t) = 0
∂t
• parametric speed, but not arc length, is a rational function of curve
for (x, y) and set x = X(t)/W (t), y = Y (t)/W (t) to obtain
parameter (rational functions do not, in general, have rational integrals)
W = (a2 + b2)(a�b − ab�)g 2 ,
• geometrical optics interpretation — rational PH curves are caustics
for reflection of parallel light rays by rational plane curves X = 2ab(a�b − ab�)f g − 12 (a4 − b4)(f �g − f g �) ,
Y = (a2 − b2)(a�b − ab�)f g + ab(a2 + b2)(f �g − f g �) .
• Laguerre geometry model — oriented contact of lines & circles

dual representation in line coordinates K(t), L(t), M (t) is simpler medial axis transform of planar domain

define set of all tangent lines to rational PH curve by

K(t) W + L(t) X + M (t) Y = 0

line coordinates are given in terms a(t), b(t) and f (t), g(t) by

K : L : M = − (a2 + b2)f : 2abg : (a2 − b2)g

for rational PH curves, class (= degree of line representation)


is less than order (= degree of point representation)

dual Bézier representation — control points replaced by control lines


medial axis = locus of centers of maximal inscribed disks, touching
rational offsets constructed by parallel displacement of control lines domain boundary in at least two points; medial axis transform (MAT)
= medial axis + superposed function specifying radii of maximal disks
Minkowski Pythagorean-hodograph (MPH) curves for parameterization to be rational, MAT hodograph must satisfy

H. P. Moon (1999), Minkowski Pythagorean hodographs, Comput. Aided Geom. Design 16, 739–753 x�2(t) + y �2(t) − r�2(t) = σ 2(t)

(x(t), y(t), r(t)) = medial axis transform (MAT) of planar domain D — this is a Pythagorean condition in the Minkowski space R(2,1)

characterizes domain D as union of one-parameter family metric of Minkowski space R(2,1) has signature + + − rather
of circular disks C(t) with centers (x(t), y(t)) and radii r(t) than usual signature + + + for metric of Euclidean space R3

recovery of domain boundary ∂D as envelope of one–parameter Moon (1999): sufficient–and–necessary characterization of


family of circular disks specified by the MAT (x(t), y(t), r(t)) Minkowski Pythagorean hodographs in terms of four polynomials
u(t), v(t), p(t), q(t)

r�(t)x�(t) ± x�2(t) + y �2(t) − r�2(t) y �(t)
xe(t) = x(t) − r(t) , x�(t) = u2(t) + v 2(t) − p2(t) − q 2(t) ,
x�2(t) + y �2(t)
y �(t) = 2 [ u(t)p(t) − v(t)q(t) ] ,

r (t)y (t) ∓ x�2(t) + y �2(t) − r�2(t) x�(t)
� �
r�(t) = 2 [ u(t)v(t) − p(t)q(t) ] ,
ye(t) = y(t) − r(t) .
x�2(t) + y �2(t) σ(t) = u2(t) − v 2(t) + p2(t) − q 2(t) .

interpretation of Minkowski metric rational boundary reconstructed from MPH curve


originates in special relativity: distance d between events with
space–time coordinates (x1, y1, t1) and (x2, y2, t2) is defined by
d2 = (x2 − x1)2 + (y2 − y1)2 − c2(t2 − t1)2

space-like if d real, light-like if d = 0, time-like if d imaginary

distance between circles (x1, y1, r1) and (x2, y2, r2) as points in R(2,1)
r y
d2 = (x2 − x1)2 + (y2 − y1)2 − (r2 − r1)2

d=0

d imaginary
closure

• advantages of PH curves: rational offset curves, exact arc–length


computation, real-time CNC interpolators, exact rotation–minimizing Hermite and spline interpolation algorithms for
frames, bending energies, etc.
planar & spatial Pythagorean-hodograph curves
• applications of PH curves in digital motion control, path planning,
robotics, animation, computer graphics, etc.
Rida T. Farouki
• investigation of PH curves involves a wealth of concepts
from algebra and geometry with a long and fascinating history Department of Mechanical & Aeronautical Engineering,
University of California, Davis
• many open problems remain: optimal choice of degrees of freedom,
C 2 spline formulations, control polygons for design of PH splines,
deeper geometrical insight into quaternion representation, etc.

— synopsis — motivation for Hermite & spline interpolation algorithms

• motivation for Hermite & spline interpolation algorithms • only cubic PH curves characterizable by simple constraints
on Bézier control polygons
• planar PH quintic Hermite interpolants (four solutions)
• planar PH cubics = Tschirnhausen’s cubic,
• computing absolute rotation index & elastic bending energy spatial PH cubics = { helical cubic space curves }
— too limited for general free–form design applications
• a priori identification of “good” Hermite interpolant
• construct quintic PH curves “geometrically” by interpolation
• planar C 2 PH quintic splines — numerical methods
of discrete data — points, tangents, etc.
• spatial PH quintic Hermite interpolants (2 free parameters)
• non–linear interpolation equations made tractable by
• spatial PH quintics — taxonomy of special types complex number model for planar PH curves, and
quaternion or Hopf map model for spatial PH curves
• spatial C 2 PH quintic splines — residual freedoms
• efficient algorithms allow interactive design of PH curves
Pythagorean triples of polynomials planar PH quintic Hermite interpolants

 R. T. Farouki and C. A. Neff, Hermite interpolation by Pythagorean–hodograph quintics,


Mathematics of Computation 64, 1589–1609 (1995)
 x (t) = u (t) − v (t)
 � 2 2

x�2(t) + y �2(t) = σ 2(t) ⇐⇒ y (t) = 2 u(t)v(t)




 σ(t) = u2(t) + v 2(t) complex representation: hodograph = [ complex quadratic polynomial ] 2

r�(t) = [ w0(1 − t)2 + w12(1 − t)t + w2t2 ] 2


K. K. Kubota, Pythagorean triples in unique factorization domains, American Mathematical Monthly
79, 503–505 (1972)
� 5
� � �
R. T. Farouki and T. Sakkalis, Pythagorean hodographs, IBM Journal of Research and Development 5
34 736–752 (1990) r(t) = r�(t) dt = pk (1 − t)5−k tk
k
R. T. Farouki, The conformal map z → z 2 of the hodograph plane, Computer Aided Geometric Design k=0
11, 363–390 (1994)

complex Hermite data — r�(0) = d0, r�(1) = d1, r(1) − r(0) = ∆p


complex number model for planar PH curves
→ three quadratic equations in three complex variables w0, w1, w2
choose complex polynomial w(t) = u(t) + i v(t)

→ planar Pythagorean hodograph r�(t) = (x�(t), y �(t)) = w2(t) 2w12 + w2w0


w02 = d0 , w22 = d1 , w02 + w0w1 + + w1w2 + w22 = 5∆p
3

four distinct PH quintic Hermite interpolants


generically four distinct interpolants to given Hermite data d0, d1, ∆p

one good solution among four PH quintic interpolants —


other three typically exhibit undesired “looping” behavior

obtain Bézier control points of PH quintic from w0, w1, w2


++ +–
w02
p1 = p0 + ,
5
w0w1
p2 = p1 + ,
5
2w12 + w0w2
p3 = p2 + ,
15
w1w2
p4 = p3 + ,
5
w22 –+ ––
p5 = p4 + .
5
blue = PH quintic, red = “ordinary” cubic
choosing the “good” interpolant — rotation index

1
absolute rotation index: Rabs = |κ| ds

w.l.o.g. take r(0) = 0 and r(1) = 1 (shift + scale of Hermite data)

r�(t) = k [ (t − a)(t − b) ]2
solve for k, a, b instead of w0, w1, w2

locations of a, b relative to [ 0, 1 ] gives Rabs : Computation of absolute rotation index Rabs from locations of the complex
hodograph roots a, b relative to t ∈ [ 0, 1 ]. The best interpolant arises
∠ 0a1 + ∠ 0b1 when a, b lie on opposite sides of (and are not close to) this interval.
Rabs = (no inflections)
π
N
1 �
Rabs = | ∠ tk a tk+1 − ∠ tk b tk+1 |
π
k=0

choosing the “good” interpolant — bending energy compare PH quintic & “ordinary” cubic interpolants
� �
|r� × r��|2
U = κ2 ds = dt
σ5

use complex form r�(t) = w2(t) with w(t) = k(t − a)(t − b) again

analytic reduction of indefinite integral



4
U (t) = 2 Re(a1) ln |t − a| + 2 Re(b1) ln |t − b|
|k|2
− 2 Im(a1) arg(t − a) − 2 Im(b1) arg(t − b)
� ��
2 a2 2 b2 a3 b3 good PH quintic interpolants (blue) to first-order Hermite data typically
− Re + + + . have lower bending energy than “ordinary” cubic interpolants (red)
t − a t − b (t − a)2 (t − b)2

a1, b1, a2, b2, a3, b3 = coefficients in partial fraction expansion of integrand C 2 spatial Hermite interpolants:
B. Jüttler, C 2 Hermite interpolation by Pythagorean hodograph curves of degree seven,
total bending energy of PH quintic E = U (1) − U (0) Mathematics of Computation 70, 1089–1111 (2001)
monotone–curvature PH quintic segments a priori identification of “good” interpolant
D. J. Walton and D. S. Meek, A Pythagorean–hodograph quintic spiral, Computer Aided Design H. P. Moon, R. T. Farouki, and H. I. Choi, Construction and shape analysis of PH quintic Hermite
28, 943–950 (1996) interpolants, Computer Aided Geometric Design 18, 93–115 (2001)

R. T. Farouki, Pythagorean–hodograph quintic transition curves of monotone curvature, H. I. Choi, R. T. Farouki, S. H. Kwon, and H. P. Moon, Topological criterion for selection of quintic
Computer Aided Design 29, 601–606 (1997) Pythagorean–hodograph Hermite interpolants, Computer Aided Geometric Design 25, 411–433 (2008)

if the end derivatives d0, d1 lie in complex–plane domain D defined by


k = 3.50 k = 3.75 k = 4.00
D = { d | Re(d) > 0 and |d| < 3 }

— i.e., they point in the direction of ∆p and have magnitudes


commensurate with |∆p|, the “good” PH quintic corresponds to
the ++ choice of signs in the solution procedure

G2 blends between a line and a circle, defined by PH quintics of monotone


curvature (the Bézier control polygons of the PH quintics are also shown) criterion for “good” solution — absence of anti–parallel tangents
— the free parameter k controls the rate of increase of the curvature. relative to the “ordinary” cubic Hermite interpolant

construction of C 2 PH quintic splines planar C 2 PH quintic spline equations


versus “ordinary” C 2 cubic splines
problem: construct C 2 piecewise–PH–quintic curve interpolating given
• both incur global system of equations in three consecutive unknowns sequence of points p0, . . . , pN ∈ R2

• both require specification of end conditions to complete the equations using complex representation of planar PH quintics, write hodograph of
segment ri(t) between pi−1 and pi, as square of a complex quadratic:
• equations for “ordinary” cubic splines arise from C 2 continuity condition
at each interior node, while equations for PH quintic splines arise from r�i(t) = [ 21 (zi−1 + zi)(1 − t)2 + zi 2(1 − t)t + 12 (zi + zi+1)t2 ]2
interpolating consecutive points pi, pi+1

• “ordinary” cubic splines incur linear equations in real variables, but ⇒ ri(t) and ri+1(t) automatically satisfy C 1 and C 2 conditions at their
PH quintic splines incur quadratic equations in complex variables juncture pi = ri(1) = ri+1(0) — namely,
• coordinate components of “ordinary” cubic splines weakly coupled
r�i(1) = r�i+1(0) = 14 (zi + zi+1)2, r��i (1) = r��i+1(0) = (zi+1 − zi)(zi + zi+1)
through nodal parameter values; components of PH quintic splines
strongly coupled through PH property
writing ∆pi = pi − pi−1, the end–point interpolation condition
• linearity of “ordinary” cubic splines ⇒ unique interpolant and
� 1
spline basis methods, but non–linear nature of PH quintic splines
r�i(t) dt = ∆pi
⇒ multiplicity of solutions and no linear superposition 0
yields for i = 1, . . . , N the equations solution method #1 — homotopy scheme

fi(z1, . . . , zN ) = 3 z2i−1 + 27 z2i + 3 z2i+1 + zi−1zi+1 G. Albrecht and R. T. Farouki, Construction of C 2 Pythagorean–hodograph interpolating splines by
the homotopy method , Advances in Computational Mathematics 5, 417–442 (1996)
+ 13 zi−1zi + 13 zizi+1 − 60 ∆pi = 0

in the N complex variables z1, . . . zN . First & last equations modified using the non–linear system to be solved: fi(z1, . . . , zN ) = 0 , 1 ≤ i ≤ N
chosen end conditions to avoid reference to undefined variables z0, zN +1.
“initial” system with known solutions: gi(z1, . . . , zN ) = 0 , 1 ≤ i ≤ N
possible choices for end conditions

“continuously deform” initial system into desired system while


• specified end derivatives — r�1(0) = d0 and r�N (1) = dN
tracking all solutions as homotopy parameter λ increases from 0 to 1
• cubic (Tschirnhaus) end spans — r1(t), rN (t) are just PH cubics
hi(z1, . . . , zN , λ) = λ fi(z1, . . . , zN ) + (1 − λ) eiφ gi(z1, . . . , zN ) = 0
• periodic end conditions — set r�N (1) = r�1(0) and r��N (1) = r��1 (0)
for a closed C 2 curve with pN = p0
2N +k non-singular solution loci (z1, . . . , zN , λ) ∈ CN × R for “almost all” φ
• no analog of not–a–knot condition for “ordinary” C 2 cubic splines

predictor-corrector method 700

600

500
trace from λ = 0 to 1 loci defined by hi(z1, . . . , zN , λ) = 0, 1 ≤ i ≤ N
400

∂hi 300
tridiagonal Jacobian matrix: Mij = , 1 ≤ i, j ≤ N 200
∂zj
100

0
predictor step : motion along tangent directions to solution loci 0.0 0.2 0.4 0.6 0.8 1.0
λ
N

Mij ∆zj = (eiφ gi − fi) ∆λ , i = 1, . . . , N typical behavior of �f �2, �g�2, �h�2 norms in predictor–corrector scheme
j=1

• well–conditioned — accuracy near machine precision achievable


corrector step : correct for curvature of loci by Newton iterations
zj
(r+1)
= zj
(r)
+ δzj for j = 1, . . . , N , r = 1, 2, . . . • gives complete set of 2N +k distinct PH quintic spline interpolants
N
(k = −1, 0, +1 depends on chosen end conditions)
� (r) (r)
where Mij δzj = − hi , i = 1, . . . , N
• unique good interpolant — without undesired “looping” behavior
j=1

N
� • better shape (curvature distribution) than “ordinary” C 2 cubic spline
(r) (r)
until | hi(z1 , . . . , zN , λ + ∆λ) |2 ≤ �2
i=1 • becomes computationally very expensive for large N
complete set of PH quintic spline interpolants comparison of PH quintic & “ordinary” cubic splines

20

16

12

κ 8

shape measures for identifying “good” interpolant: –4


0 1 2 3 4 5 6 7 8 9
t
total arc length, absolute rotation index, elastic bending energy
� � �
1
S = ds , Rabs = |κ| ds , E = κ2 ds blue = C 2 PH quintic spline, red = “ordinary” C 2 cubic spline

solution method #2 — Newton-Raphson iteration writing z = (z1, . . . , zN )T and f = (f1, . . . , fN )T , the Newton–Raphson
iterations may be expressed as
R. T. Farouki, B. K. Kuspa, C. Manni, and A. Sestini, Efficient solution of the complex quadratic
tridiagonal system for C 2 PH quintic splines, Numerical Algorithms 27, 35–60 (2001) z(r+1) = z(r) + δz(r) , r = 0, 1, 2, . . .

(r) (r)
in applications, we want to compute only the “good” PH quintic spline where δz(r) = (δz1 , . . . , δzN )T is the solution of the linear system

apply Newton-Raphson iteration to system fi(z1, . . . , zN ) = 0 , 1 ≤ i ≤ N M(r) δz(r) = − f (r) .

∂ fi superscripts on M and f indicate evaluation at z(r) = (z0 , . . . , zN ).


(r) (r)
recall that Jacobian matrix Mij = , 1 ≤ i, j ≤ N is tridiagonal
∂ zj
in rows i = 2, . . . , N − 1, the only non–zero elements are (0) (0)
key step: find “sufficiently close” initial approximation z(0) = (z1 , . . . , zN )
Mi,i−1 = 6 zi−1 + 13 zi + zi+1 ,
Mii = 13 zi−1 + 54 zi + 13 zi+1 , Kantorovich theorem: guaranteed convergence under verifiable conditions
Mi,i+1 = zi−1 + 13 zi + 6 zi+1 .

rows i = 1 and i = N are modified to reflect the chosen end conditions


choice of starting approximation efficiency of Newton-Raphson method

critical to successful Kanotorovich test & rapid convergence of iterations tridiagonal equations for NR increments δz(r) — O(N ) solution cost —
and quadratic convergence of the NR iterations =⇒ extremely efficient
construction of large–N PH quintic splines
strategy: equate mid–point derivatives of PH quintic spline to (known)
mid–point derivatives of “ordinary” cubic spline that interpolates the same
data points p0, . . . , pN
shape N +1 homotopy method Newton–Raphson
kidney 10 8.09 sec 0.11 sec
yields a tridiagonal linear system for starting values z1, . . . , zN
squiggly 15 656.21 sec 0.12 sec
� quirky 19 1128.97 sec 0.23 sec
zi−1 + 6zi + zi+1 = 4 6∆pi − (di−1 + di) , i = 1, . . . , N
big open 35 0.40 sec
big closed 38 0.43 sec
where d0, . . . , dN are the nodal derivatives of the “ordinary” cubic spline,
and equations i = 1 and i = N are adjusted for the chosen end conditions Timing comparisons for C 2 PH quintic spline test curves

strategy is nearly infallible for smoothly–varying data points p0, . . . , pN

design of C 2 PH splines by control polygons

F. Pelosi, M. L. Sampoli, R. T. Farouki, and C. Manni, A control polygon scheme for design of planar
C 2 PH quintic spline curves, Computer Aided Geometric Design 24, 28–52 (2007)

desire a control–polygon approach to constructing PH splines, that


mimics the familiar and useful properties of cubic B–spline curves

non–linear nature of PH curves =⇒ there is no spline basis for them

strategy: control polygon defines a “hidden” interpolation problem for


PH splines, to be solved by efficient Newton–Raphson method
big_open big_closed

C 2 PH quintic spline curve associated with a given control polygon and


knot sequence is defined to be the “good” interpolant to the nodal points
of the ordinary C 2 cubic spline curve with the same B–spline control
C 2 PH quintic splines computed by Newton–Raphson method for large N points, knot sequence, and end conditions
. . . the three Russian brothers . . .

. . . Following the collapse of the former Soviet Union, the


economy in Russia hit hard times, and jobs were difficult to
find. Dmitry, Ivan, and Alexey — the Brothers Karamazov —
comparison of the “ordinary” cubic B–spline (red) and PH quintic spline therefore decided to seek their fortunes by emigrating to
(blue) curves defined by given control polygons and knot sequences America, England, Australia . . .

computation sufficiently fast for interactive modification of polygons

multiple knots may be introduced to reduce the continuity to C 1 or C 0

linear precision & local modification capability possible with double knots

Pythagorean quartuples of polynomials fundamentals of quaternion algebra


 quaternions are four-dimensional numbers of the form

 x�(t) = u2(t) + v 2(t) − p2(t) − q 2(t)

 �
y (t) = 2 [ u(t)q(t) + v(t)p(t) ] A = a + ax i + ay j + az k and B = b + b x i + by j + bz k
x�2(t) + y �2(t) + z �2(t) = σ 2(t) ⇐⇒
 z �(t) = 2 [ v(t)q(t) − u(t)p(t) ]


 that obey the sum and (non-commutative) product rules
σ(t) = u2(t) + v 2(t) + p2(t) + q 2(t)
A + B = (a + b) + (ax + bx) i + (ay + by ) j + (az + bz ) k
R. Dietz, J. Hoschek, and B. Jüttler, An algebraic approach to curves and surfaces on the sphere
and on other quadrics, Computer Aided Geometric Design 10, 211–229 (1993) A B = (ab − axbx − ay by − az bz )
R. T. Farouki and T. Sakkalis, Pythagorean–hodograph space curves, Advances in Computational + (abx + bax + ay bz − az by ) i
Mathematics, 2 41–66 (1994)

H. I. Choi, D. S. Lee, and H. P. Moon, Clifford algebra, spin representation, and rational
+ (aby + bay + az bx − axbz ) j
parameterization of curves and surfaces, Advances in Computational Mathematics 17, 5-48 (2002) + (abz + baz + axby − ay bx) k

quaternion model for spatial PH curves basis elements 1, i, j, k satisfy i2 = j2 = k2 = i j k = −1


choose quaternion polynomial A(t) = u(t) + v(t) i + p(t) j + q(t) k equivalently, i j = − j i = k , jk = −kj = i, ki = −ik = j
→ spatial Pythagorean hodograph r�(t) = (x�(t), y �(t), z �(t)) = A(t) i A∗(t)
scalar-vector form of quaternions unit quaternions & spatial rotations
set A = (a, a) and B = (b, b) — a, b and a, b are scalar and vector parts
any unit quaternion has the form U = (cos 21 θ, sin 21 θ n)
(a, b and a, b also called the real and imaginary parts of A, B)
describes a spatial rotation by angle θ about unit vector n
A + B = (a + b, a + b)
for any vector v the quaternion product
A B = ( ab − a · b , a b + b a + a × b)

(historical note: Hamilton’s quaternions preceded, but were eventually ṽ = U v U ∗


supplanted by, the 3-dimensional vector analysis of Gibbs and Heaviside)
yields the vector ṽ corresponding to a rotation of v by θ about n
A∗ = (a, −a) is the conjugate of A

modulus : |A |2 = A∗A = AA∗ = a2 + |a|2 here v is short-hand for a “pure vector” quaternion V = (0, v)

note that |A B | = |A | |B| and (A B)∗ = B ∗A∗ unit quaternions U form a (non-commutative) group under multiplication

quaternion model for spatial PH curves solution of “fundamental” quaternion equation

for any given vector v, find quaternions A satisfying A i A∗ = v


quaternion polynomial A(t) = u(t) + v(t) i + p(t) j + q(t) k
such quaternions A map the unit vector i onto the given vector v
maps to r (t) = A(t) i A (t) = [ u (t) + v (t) − p (t) − q (t) ] i
� ∗ 2 2 2 2 by means of a scaling–rotation transformation
+ 2 [ u(t)q(t) + v(t)p(t) ] j + 2 [ v(t)q(t) − u(t)p(t) ] k
v
write v̂ = = (λ, µ, ν) — obtain one–parameter family of solutions
|v|
rotation invariance of spatial PH form: rotate by θ about n = (nx, ny , nz ) � � �
(1 + λ)|v| µ cos φ + ν sin φ ν cos φ − µ sin φ
A = − sin φ + cos φ i + j+ k
define U = (cos 12 θ, sin 21 θ n) — then r�(t) → r̃�(t) = Ã(t) i Ã∗(t) 2 1+λ 1+λ

where φ = free angular variable


where Ã(t) = U A(t) (can interpret as rotation in R4)

more compact from — A = |v| n exp(φ i)

i + v̂
where exp(φ i) = cos φ + sin φ i and n = = bisector of i, v̂
| i + v̂ |
spatial PH quintic Hermite interpolants examples of spatial PH quintic Hermite interpolants

spatial PH quintic interpolating end points pi, pf & derivatives di, df

r�(t) = A(t) i A∗(t) , A(t) = A0(1 − t)2 + A12(1 − t)t + A2t2

→ three equations in three quaternion unknowns A0, A1, A2

r�(0) = A0 i A∗0 = di and r�(1) = A2 i A∗2 = df


� 1
A(t) i A∗(t) dt = 1
5 A0 i A∗0 + 10 (A0 i A1
1 ∗
+ A1 i A∗0 )
0
+ 30 (A0 i A2
1 ∗
+ 4 A1 i A∗1 + A2 i A∗0 )
pi = (0, 0, 0) and pf = (1, 1, 1) for both curves
+ 10 (A1 i A2
1 ∗
+ A2 i A∗1 ) + 1
5 A2 i A∗2 = pf − pi di = (−0.8, 0.3, 1.2) and df = (0.5, −1.3, −1.0) for curve on left,
di = (0.4, −1.5, −1.2) and df = (−1.2, −0.6, −1.2) for curve on right
• two–parameter family of solutions for given data pi, pf and di, df
3 variables φ0, φ1, φ2 but interpolants depend only on differences

choosing free parameters φ0, φ2 (set φ1 = 0 w.l.o.g.)

R. T. Farouki, C. Giannelli, C. Manni, and A. Sestini, Identification of spatial PH quintic Hermite


interpolants with near–optimal shape measures, Computer Aided Geometric Deisgn 25, 274–297 (2008)

total arc length depends only on difference φ2 − φ0 of two parameters

⇒ one–parameter family of Hermite interpolants with identical arc lengths

the Hermite interpolants of extremal arc length are helical PH curves



minimization of elastic energy E = κ2 ds (computation intensive)
One–parameter families of spatial PH quintic interpolants, of identical arc
length, defined by keeping φ2 − φ0 constant, and varying only 21 (φ0 + φ2)
several efficient empirical measures for determining “optimal” φ0, φ2
taxonomy of “special spatial” PH curves rational rotation–minimizing frame (RRMF) curves
rational adapted frames (t, u, v) with angular velocity satisfying ω · t ≡ 0
helical polynomial space curves
RRMF curves are of minimum degree 5 (proper subset of PH quintics)
curve tangent t makes a constant angle α with a fixed unit vector a
— i.e., a · t = cos α (a = axis of helix, α = pitch angle) identifiable by quadratic (vector) constraint on quaternion coefficients
useful in spatial motion planning and rigid–body orientation control
equivalently, curve has constant curvature–torsion ratio: κ/τ = tan α
construction through geometric Hermite interpolation algorithm
all helical polynomial curves are PH curves (implied by a · t = cos α)

all spatial PH cubics are helical, but not all PH curves of degree ≥ 5

“double” Pythagorean–hodograph (DPH) curves

components of both r�(t) & r�(t) × r��(t) satisfy Pythagorean conditions RMF

DPH curves have rational Frenet frames (t, n, b) and curvatures κ Frenet

all helical polynomial curves must be DPH — not just PH — curves

all DPH quintics are helical, but not all DPH curves of degree ≥ 7

rational rotation-minimizing rigid body motions spatial C 2 PH quintic splines

R. T. Farouki, C. Giannelli, C. Manni, A. Sestini (2010), Design of rational rotation–minimizing rigid body
motions by Hermite interpolation, Math. Comp., submitted • quaternion and Hopf map models for spatial C 2 PH quintic spline
curves interpolating sequence of points p0, . . . , pN ∈ R3 both incur
one residual freedom per spline segment
• interpolate end points pi, pf and frames (ti, ui, vi) and (tf , uf , vf ) by
PH quintic r(ξ) with rational rotation-minimizing frame (t(ξ), u(ξ), v(ξ))
• shape of spline interpolant sensitive to choice of free parameters
• RRMF condition for spatial PH quintics: A1 i A∗1 = A0 i A∗2 + A2 i A∗0
• early study — fix freedoms using “quaternion matching” condition
• satisfying RRMF condition & end frame interpolation always possible
• optimize shape measure — e.g., proximity to a single PH cubic —
— end point interpolation requires positive root of degree 6 equation
to provide control-polygon-based design scheme
• diverse applications — to robotics, animation, spatial path planning,
• specify arc lengths of spline segments as multiples of chord lengths,
geometric sweeping operations, etc.
∆sk = γk | pk − pk−1| — for γ1 = · · · = γN (= γ, say) we can use γ
as a single tension parameter to alter interpolant shape
closure

• advantages of PH curves: rational offset curves, analytic real-time


interpolators, exact bending energy, rotation-minimizing frames, etc. Rotation-minimizing frames on space curves
• complex number and quaternion models are “natural” formulations — theory, algorithms, applications
for planar and spatial PH curves — rotation invariance, geometrical
insight, simplified construction algorithms, etc.

• for planar PH curves, efficient & robust Hermite and spline interpolation Rida T. Farouki
algorithms are available for practical use
Department of Mechanical & Aeronautical Engineering,
• for spatial PH curves, basic Hermite interpolation algorithm available University of California, Davis
with methods for “optimal” selection of two free parameters

• open problems for spatial PH curves — choice of multiple free


parameters in C 2 spline formulation; geometric Hermite interpolation (in collaboration with C. Giannelli, C. Y. Han, C. Manni, T. Sakkalis, A. Sestini)
with RRMF curves; applications of rotation–minimizing frames in
motion planning, animation, spatial orientation control, etc.

— synopsis — rotation-minimizing frames on space curves

• rotation-minimizing frames (RMFs) on space curves • an adapted frame (e1, e2, e3) on a space curve r(ξ) is a system of
three orthonormal vectors, such that e1 = r�/|r�| is the curve tangent
• applications of RMFs — “defects” of the Frenet frame and (e2, e3) span the curve normal plane at each point

• RMFs for spatial Pythagorean–hodograph (PH) curves • on any given space curve, there are infinitely many adapted frames
— the Frenet frame is perhaps the most familiar
• characterization of PH curves with exact rational RMFs R. L. Bishop (1975), There is more than one way to frame a curve, Amer. Math. Monthly 82, 246–251

• a “philosophical” interlude — theory versus practice • for a rotation–minimizing frame (RMF), the normal–plane vectors
(e2, e3) exhibit no instantaneous rotation about e1
• directed frames — camera orientation control F. Klok (1986), Two moving coordinate frames for sweeping along a 3D trajectory,
computation of rotation-minimizing directed frames Comput. Aided Geom. Design 3, 217–229

• polar differential geometry — anti-hodograph, • angular orientation of RMF relative to Frenet frame = integral of
Frenet directed frame, polar curvature and torsion curve torsion w.r.t. arc length ( ⇒ one–parameter family of RMFs)
H. Guggenheimer (1989), Computing frames along a trajectory,
• conclusions and practical advice on standard answers Comput. Aided Geom. Design 6, 77–78
to questions asked at conferences
• “implicit” algebraic condition for rational RMFs on spatial PH curves
— no rational RMFs for non–degenerate cubics
• spatial PH curves admit exact evaluation of torsion integral, C. Y. Han (2008), Nonexistence of rational rotation–minimizing frames on cubic curves,
Comput. Aided Geom. Design 25, 298–304
but expression for RMF contains transcendental terms
R. T. Farouki (2002), Exact rotation–minimizing frames for spatial Pythagorean–hodograph curves,
Graphical Models 64, 382–395 • sufficient–and–necessary conditions on Hopf map coefficients of
spatial PH quintics for rational RMF
R. T. Farouki, C. Giannelli, C. Manni, A. Sestini (2009), Quintic space curves with rational
• piecewise–rational RMF approximation on polynomial & rational curves rotation–minimizing frames, Comput. Aided Geom. Design 26, 580–592
B. Jüttler and C. Mäurer (1999), Rational approximation of rotation minimizing frames using
Pythagorean–hodograph cubics, J. Geom. Graphics 3, 141–159
R. T. Farouki and C. Y. Han (2003), Rational approximation schemes for rotation–minimizing frames
• simplified (quadratic) RRMF conditions for quaternion and Hopf map
on Pythagorean–hodograph curves, Comput. Aided Geom. Design 20, 435–454 representations of spatial PH quintics
R. T. Farouki (2010), Quaternion and Hopf map characterizations for the existence of rational
rotation–minimizing frames on quintic space curves, Adv. Comp. Math., to appear
• Euler–Rodrigues frame (ERF) is better reference than Frenet frame
for identifying curves with rational RMFs (RRMF curves)
• general RRMF conditions for spatial PH curves of any degree
H. I. Choi and C. Y. Han (2002), Euler–Rodrigues frames on spatial Pythagorean–hodograph curves,
R. T. Farouki and T. Sakkalis (2010), Rational rotation–minimizing frames on polynomial
Comput. Aided Geom. Design 19, 603–620
space curves of arbitrary degree, J. Symb. Comp., to appear
ERF = rational adapted frame defined on spatial PH curves that is
non–singular at inflection points • spatial motion design by RRMF quintic Hermite interpolation
R. T. Farouki, C. Giannelli, C. Manni, A. Sestini (2010), Design of rational rotation–minimizing
rigid body motions by Hermite interpolation, Math. Comp., submitted

elementary differential geometry of space curves variation of frame (t(ξ), n(ξ), b(ξ)) along curve r(ξ)
specified in terms of parametric speed, curvature, torsion functions
Frenet frame (t(ξ), n(ξ), b(ξ)) on space curve r(ξ) defined by
| r� × r��| (r� × r��) · r���
r� r� × r�� r� × r�� σ = |r�| , κ = , τ =
t = � , n = � × t, b = � |r�|3 | r� × r��|2
|r | |r × r��| |r × r��|
by Frenet–Serret equations
z
    
t� 0 κ 0 t
 n�  = σ  −κ 0 τ  n 
b� 0 −τ 0 b

• (t, n) span osculating plane (second–order contact at each point)

• (n, b) span normal plane (cuts curve orthogonally at each point)


x y

• (b, t) span rectifying plane (envelope of these planes defines


t defines instantaneous direction of motion along curve;
rectifying developable, allows curve to be flattened onto a plane)
n points toward center of curvature; b = t × n completes frame

“defects” of Frenet frame on space curves total curvature |d| = κ2 + τ 2 = angular velocity of Frenet frame

• (t, n, b) do not depend rationally on curve parameter ξ


rotation–minimizing adapted frame (t, u, v) satisfying
• normal–plane vectors (n, b) become indeterminate and
dt du dv
can suddenly “flip” at inflection points of curve, where κ = 0 = ω × t, = ω × u, = ω×v
ds ds ds
• exhibits “unnecessary rotation” in the curve normal plane
RMF characteristic property — angular velocity ω satisfies ω · t ≡ 0
dt dn db
= d × t, = d × n, = d×b no instantaneous rotation of normal–plane vectors (u, v) about tangent t
ds ds ds

Darboux vector d = κ b + τ t = Frenet frame rotation rate → rotation–minimizing frame much better than Frenet frame for
applications in animation, path planning, swept surface constructions, etc.
component τ t describes instantaneous rotation in normal plane
(unnecessary for “smoothly varying” adapted orthonormal frame) among all adapted frames on a space curve, the RMF identifies
least elastic energy associated with twisting (as distinct from bending)

Frenet ERF RMF

sudden reversal of Frenet frame through an inflection point


Frenet frame (center) & rotation-minimizing frame (right) on space curve

surface constructed by sweeping an ellipse along a space curve


motion of an ellipsoid oriented by Frenet & rotation-minimizing frames using Frenet frame (center) & rotation-minimizing frame (right)
Pythagorean-hodograph (PH) curves Pythagorean quartuples of polynomials

r(ξ) = PH curve in Rn ⇐⇒ coordinate components of r�(ξ)  x�(t) = u2(t) + v 2(t) − p2(t) − q 2(t)


elements of “Pythagorean (n + 1)-tuple of polynomials”  �
y (t) = 2 [ u(t)q(t) + v(t)p(t) ]
x�2(t) + y �2(t) + z �2(t) = σ 2(t) ⇐⇒
 z �(t) = 2 [ v(t)q(t) − u(t)p(t) ]



PH curves incorporate special algebraic structures in their hodographs σ(t) = u2(t) + v 2(t) + p2(t) + q 2(t)
(complex number & quaternion models for planar & spatial PH curves)
H. I. Choi, D. S. Lee, and H. P. Moon, Clifford algebra, spin representation, and rational
parameterization of curves and surfaces, Advances in Computational Mathematics 17, 5-48 (2002)

• rational offset curves rd(ξ) = r(ξ) + d n(ξ)


quaternion representation A(t) = u(t) + v(t) i + p(t) j + q(t) k
� ξ
• polynomial arc-length function s(ξ) = |r�(ξ)| dξ → spatial Pythagorean hodograph r�(t) = (x�(t), y �(t), z �(t)) = A(t) i A∗(t)
0

� 1 Hopf map representation α(t) = u(t) + i v(t), β(t) = q(t) + i p(t)


• closed-form evaluation of energy integral E = κ2 ds
0 → (x�(t), y �(t), z �(t)) = (|α(t)|2 − |β(t)|2, 2 Re(α(t)β(t)), 2 Im(α(t)β(t)))

• real-time CNC interpolators, rotation-minimizing frames, etc.


equivalence — identify “i” with “i” and set A(t) = α(t) + k β(t)

rotation-minimizing frames on spatial PH curves comparison of Frenet & rotation-minimizing frames


� � � �� �
u cos θ sin θ n
new basis in normal plane =
v − sin θ cos θ b

where θ = − τ ds : cancels “unnecessary rotation” in normal plane

free integration constant =⇒ ∃ one–parameter family of RMFs

options for construction of RMF (t, u, v) on spatial PH quintics:

• analytic reduction — involves rational function integration,


logarithmic dependence on curve parameter

• rational approximation — use Padé (rational Hermite) approach:


simple algorithm & rapid convergence
spatial PH quintic Frenet frame rotation–minimizing frame
• exact rational RMFs — identify sufficient and necessary conditions
for rational RMFs on spatial PH curves
rotation rates — RMF vs Frenet frame rational RMFs on spatial PH curves

any space curve with a rational RMF must be a PH curve


3 (since only PH curves have rational unit tangents)
Frenet frame rotation minimizing
rate of rotation Choi & Han (2002): for PH curve with hodograph r�(ξ) = A(ξ) i A∗(ξ)
2
A(ξ) i A∗(ξ) A(ξ) j A∗(ξ) A(ξ) k A∗(ξ)
t(ξ) = , p(ξ) = , q(ξ) =
|A(ξ)|2 |A(ξ)|2 |A(ξ)|2
1
defines the Euler–Rodrigues frame (ERF) — (t, p, q) is better “reference”
than Frenet frame (t, n, b) for seeking rational RMFs on spatial PH curves

0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 ERF is not intrinsic (depends on chosen basis (i, j, k) for R3)
t
— but is inherently rational and non–singular at inflection points
compared with the rotation-minimizing frame (t, u, v), the Frenet frame
(t, n, b) exhibits a lot of “unnecessary” rotation (in the curve normal plane) RMF vectors (u, v) must be obtainable from ERF vectors (p, q)
through rational rotation in curve normal plane at each point of r(ξ)

seek rational rotation ERF → RMF “implicit” algebraic condition for RRMF curves

Han (2008): is there a rational rotation in the normal plane


Han (2008): PH curve defined by A(ξ) = u(ξ) + v(ξ) i + p(ξ) j + q(ξ) k
defined by two real polynomials a(ξ), b(ξ) that maps the
is an RRMF curve if and only if polynomials a(ξ), b(ξ) exist such that
ERF vectors p(ξ), q(ξ) onto the RMF vectors u(ξ), v(ξ)?
uv � − u�v − pq � + p�q ab� − a�b
= 2
u +v +p +q
2 2 2 2 a + b2
a2(ξ) − b2(ξ) 2 a(ξ)b(ξ)
u(ξ) = p(ξ) − 2 q(ξ) ,
a2(ξ) + b2(ξ) a (ξ) + b2(ξ) Hopf map representation with α(ξ) = u(ξ) + i v(ξ), β(ξ) = q(ξ) + i p(ξ)
2 a(ξ)b(ξ) a (ξ) − b (ξ)
2 2 requires existence of complex polynomial w(ξ) = a(ξ) + i b(ξ) such that
v(ξ) = p(ξ) + 2 q(ξ) .
a2(ξ) + b2(ξ) a (ξ) + b2(ξ) �
αα� − α�α + ββ � − β β ww� − w�w
=
|α| + |β|
2 2 |w|2
if such polynomials a(ξ), b(ξ) exist, we have an RRMF curve
— i.e., a PH curve with a rational rotation–minimizing frame Han (2008): no RRMF cubics exist, except degenerate (planar) curves
characterization of RRMF quintics sufficient–and–necessary conditions

Farouki, Giannelli, Manni, Sestini (2009): use Hopf map form with Proposition 1. A PH quintic has a rational rotation–minimizing frame if
and only if the coefficients α0, α1, α2 and β 0, β 1, β 2 of the two quadratic
α(t) = α0 (1 − t)2 + α1 2(1 − t)t + α2 t2 , complex polynomials α(t) and β(t) satisfy the constraints
β(t) = β 0 (1 − t)2 + β 1 2(1 − t)t + β 2 t2 .
(|α0|2 + |β 0|2) |α1α2 + β 1β 2|2 = (|α2|2 + |β 2|2) |α0α1 + β 0β 1|2 ,
defines RRMF quintic ⇐⇒ w0, w1, w2 ∈ C, γ ∈ R exist such that
(|α0|2 + |β 0|2) (α0β 2 − α2β 0) = 2 (α0α1 + β 0β 1)(α0β 1 − α1β 0) .
|α0|2 + |β 0|2 = γ |w0|2 ,
α0α1 + β 0β 1 = γ w0w1 ,
α0α2 + β 0β 2 + 2 (|α1|2 + |β 1|2) = γ (w0w2 + 2 |w1|2) , one real + one complex constraint on α0, α1, α2 and β 0, β 1, β 2
α1α2 + β 1β 2 = γ w1w2 , ⇒ RRMF quintics have three less freedoms than general PH quintics
|α2|2 + |β 2|2 = γ |w2|2 .
Algorithm to construct RRMF quintics: freely choose α0, α2 and β 0, β 2
NOTE: can take w0 = 1 without loss of generality & obtain α1, β 1 in terms of one free parameter, from RRMF constraints

example RRMF quintic construction


polynomials defining RMF vectors (u, v) in terms of ERF vectors (p, q)
choose α0 = 1 + 2 i , β 0 = −2 + i , α2 = 2 − i , β 2 = −1 + 2 i
1 3 4
� � a(t) = (1 − t)2 + √ 2(1 − t)t + t2 , b(t) = − t2 .
1+i −3 + i 1 3 − 4i 2 5 5
=⇒ α1 = √ , β1 = √ and (w0, w1, w2) = 1, √ ,
2 2 2 5
4

RMF
ERF
3

angular speed ω
2

ERF RMF
1

0
0.0 0.2 0.4 0.6 0.8 1.0
Frenet
t

comparison of angular speeds for ERF and RMF


“lingering doubts” about RRMF quintic conditions improved sufficient–and–necessary conditions

• constraints are of rather high degree — 4 and 6 Proposition 2. A spatial PH quintic defined by the quaternion polynomial
A0(1 − ξ)2 + A12(1 − ξ)ξ + A2 ξ 2 has a rational RMF if and only if
• not invariant when “0” and “2” subscripts swapped
A0 i A∗2 + A2 i A∗0 = 2 A1 i A∗1 .
(corresponds to the re–parameterization t → 1 − t)

• do not easily translate to quaternion representation


Proposition 3. A spatial PH quintic defined by the complex polynomials
α0(1 − ξ)2 + α12(1 − ξ)ξ + α2 ξ 2 and β 0(1 − ξ)2 + β 12(1 − ξ)ξ + β 2 ξ 2 has
a rational RMF if and only if

problem revisited in Farouki (2010), to appear Re(α0α2 − β 0β 2) = |α1|2 − |β 1|2 , α0β 2 + α2β 0 = 2 α1β 1 .

• to avoid asymmetry, do not assume w0 = 1 • new conditions are only quadratic in coefficients

• consider PH quintics in canonical form with r�(0) = (1, 0, 0) • easy transformation quaternion � Hopf map forms

• strategic switching between quaternion & Hopf map forms • obvious invariance on swapping “0” and “2” subscripts

RRMF quintics constructed from new conditions rational RMFs on space curves of any degree
RMF R. T. Farouki and T. Sakkalis (2010), Rational rotation–minimizing frames on polynomial space curves
of arbitrary degree, Journal of Symbolic Computation, to appear
ERF

Frenet
Proposition 4. For A(t) = u(t) + v(t) i + p(t) j + q(t) k, the condition

uv � − u�v − pq � + p�q ab� − a�b


= 2
u +v +p +q
2 2 2 2 a + b2

RMF can be satisfied if and only if a polynomial h(t) exists, such that
ERF
Frenet
(uv � − u�v − pq � + p�q)2 + (uq � − u�q − vp� + v �p)2 = h(u2 + v 2 + p2 + q 2) .

Polynomial ρ = (uv � − u�v − pq � + p�q)2 + (uq � − u�q − vp� + v �p)2 plays a


key role in the theory of double PH curves, with |r�(t)| and |r�(t) × r��(t)|
both polynomials in t — rational Frenet frames and rational curvatures.
theory versus practice — a “philosophical” interlude famous sayings of Yogi Berra, sportsman-philosopher

theoretical astronomer — • Baseball is ninety percent mental,


don’t believe an observation until there’s a theory to explain it and the other half is physical.
• Always go to other people’s funerals
observational astronomer — — otherwise they won’t come to yours.
don’t believe a theory until there’s an observation to confirm it
• It was impossible to get a conversation going,
everyone was talking too much.
• You better cut the pizza into four pieces,
“In theory, there is no difference between theory and practice. because I’m not hungry enough to eat six.
In practice, there is.”
• You got to be very careful if you don’t know where
Yogi Berra you are going, because you might not get there.
Yankees baseball player, • Nobody goes there anymore. It’s too crowded.
aspiring philosopher

adapted & directed frames on space curve r(ξ) rotation-minimizing directed frames — applications

R. T. Farouki and C. Giannelli (2009), Spatial camera orientation control by rotation–minimizing directed
frames, Computer Animation and Virtual Worlds 20, 457–472
• adapted frame (e1, e2, e3) ⇒ e1 is the unit curve tangent, t = r�/|r�|

• infinitely many choices of normal plane vectors e2, e3 orthogonal to t • camera orientation planning for cinematography,
video inspection, computer games, virtual reality, etc.
• angular velocity ω of rotation-minimizing adapted frame (e1, e2, e3)
is characterized by ω · t ≡ 0
• minimize surgeon disorientation in endoscopic surgery

• related problem: field de-rotator for altazimuth telescope


• directed frame (e1, e2, e3) ⇒ e1 is the unit polar vector, o = r/|r| • maintenance for aircraft engines, gas turbines, pipes, etc.
• infinitely many choices of image plane vectors e2, e3 orthogonal to o • for many applications, RMDF image orientation can be
• angular velocity ω of rotation-minimizing directed frame (e1, e2, e3)
achieved through software transformations
is characterized by ω · o ≡ 0
camera orientation frame along space curve r(ξ) compare directed frame defined above
r r × r� r × r�
o = , u = × o, v = (1)
• assume target object fixed at origin (for moving target, |r| | r × r� | | r × r� |
consider only relative motion between camera & target)
with Frenet frame from differential geometry
r(ξ)
• unit polar vector o(ξ) = defines camera optical axis r� r� × r�� r� × r��
|r(ξ)| t = , n = × t, b = (2)
| r� | | r� × r�� | | r� × r�� |
• let camera image plane, orthogonal to o(ξ), be spanned
by two unit vectors u(ξ) and v(ξ) note that (t, n, b) → (o, u, v) under map (r�, r��) → (r, r�)
r(ξ) × r�(ξ)
• if r(ξ), r�(ξ) linearly independent, set v(ξ) = call (1) the Frenet directed frame, (2) the Frenet adapted frame
|r(ξ) × r�(ξ)|

• set u(ξ) = v(ξ) × o(ξ) — (o(ξ), u(ξ), v(ξ)) defines define anti-hodograph (indefinite integral) s(ξ) = r(ξ) dξ
a right-handed orthonormal directed frame along r(ξ)
⇒ Frenet directed frame of a curve r(ξ)
= Frenet adapted frame of its anti-hodograph, s(ξ)


properties of “anti-hodograph” — s(ξ) = r(ξ) dξ polar differential geometry of space curve r(ξ)

• curve hodographs (derivatives) r�(ξ) are widely used in CAGD | r × r� | (r × r�) · r��
ρ = |r|, λ = , υ =
| r |3 | r × r� |2

• anti-derivative of function f (ξ) is indefinite integral, s(ξ) = f (ξ) dξ
polar distance, polar curvature, polar torsion of r(ξ)

• infinitely many anti-hodographs — just translates of each other = parametric speed, curvature, torsion of anti-hodograph, s(ξ) = r(ξ)

• s(ξ∗) is a cusp of anti-hodograph ⇒ r(ξ) traverses origin at ξ = ξ∗ • polar curvature λ(ξ) ≡ 0 ⇐⇒ r(ξ) = line through origin

• s(ξ∗) is an inflection of anti-hodograph ⇒ tangent line to r(ξ) • polar torsion υ(ξ) ≡ 0 ⇐⇒ r(ξ) = in plane through origin
goes through origin for ξ = ξ∗
• hence, λ(ξ) ≡ 0 ⇒ κ(ξ) ≡ 0 and υ(ξ) ≡ 0 ⇒ τ (ξ) ≡ 0
• polynomial curve ⇐⇒ polynomial anti-hodograph, but this
correspondence does not extend to rational anti-hodographs • λ = 0 identifies polar inflection — r and r� linearly dependent
(integral of rational function may incur transcendental terms)
λ(ξ)
• polar helix = constant ⇐⇒ r(ξ) = on cone with apex at origin
υ(ξ)
Frenet-Serret equations for directed frame (o, u, v) corresponding properties of the Frenet
adapted and directed frames on space curves
    
o� 0 λ 0 o
 u  = ρ  −λ 0

υ  u  Frenet adapted frame Frenet directed frame
v� 0 −υ 0 v
tangent vector t polar vector o
principal normal n principal axis u
polar distance, polar curvature, polar torsion of r(ξ)
binormal vector b bi-axis vector v
| r × r� | (r × r�) · r��
ρ = |r|, λ = , υ = normal plane = span(n, b) image plane = span(u, v)
| r |3 | r × r� |2
osculating plane = span(t, n) motion plane = span(o, u)
rectifying plane = span(b, t) orthogonal plane = span(v, o)
arc-length derivatives of (o, u, v)
parametric speed σ polar distance ρ
do du dv curvature κ polar curvature λ
= e × o, = e × u, = e×v.
ds ds ds torsion τ polar torsion υ
ρ
polar Darboux vector e =
(λ v + υ o)
σ each property of the Frenet directed frame of r(ξ) coincides
ρ� 2 with the corresponding property of the Frenet
� adapted frame
angular velocity of directed frame ω = | e | = λ + υ2 of its anti-hodograph, s(ξ) = r(ξ) dξ
σ

connection between Frenet adapted & directed frames computation of rotation-minimizing directed frames

(t, n, b) and (o, u, v) are both orthonormal frames for R3 let (o, p, q) be rotation-minimizing directed frame on r(ξ)

     obtain (p, q) from (u, v) by rotation in image plane


o o·t o·n o·b t � � � �� �
 u  =  u · t u · n u · b  n  p cos ψ sin ψ u
=
v v·t v·n v·b b q − sin ψ cos ψ v

using anti-hodograph transformation, ψ = − υ ρ dξ

elements of matrix M ∈ SO(3) in terms of r, r�, r��, ρ = |r|, σ = |r�| : (i.e., integral of polar torsion w.r.t. anti-hodograph arc length)

r · r� (r × r� ) · (r� × r�� ) (r × r� ) · r��


o·t =
ρσ
, o·n = −
ρ σ | r� × r�� |
, o·b =
ρ | r� × r�� |
, • RMDF angular velocity ω omits υ o term from polar Darboux vector

| r × r� | r · r� (r × r� ) · (r� × r�� ) (r · r� ) (r × r� ) · r�� • infinitely many directed RMFs, corresponding to different integration
u·t = , u·n = , u·b = − ,
ρσ ρ σ | r × r� | | r� × r�� | ρ | r × r� | | r� × r�� | constants (maintain fixed angles relative to each other)
σ (r × r� ) · r�� (r × r� ) · (r� × r�� )
v · t = 0, v·n =
| r × r� | | r� × r�� |
, v·b =
| r × r� | | r� × r�� |
. • angle function ψ(ξ) can be determined exactly for spatial P curves
by rational function integration
example: circular camera path r(θ) = (r cos θ, r sin θ, h) directed frames on circular path, r(θ) = (r cos θ, r sin θ, h)

(r cos θ, r sin θ, h) (−h cos θ, −h sin θ, r)


o= √ , u = (− sin θ, cos θ, 0) , v= √ .
r 2 + h2 r 2 + h2

note — principal axis vector u coincides with curve tangent t

� r h
ρ = r r 2 + h2 , λ = , υ = 2 .
r 2 + h2 r + h2
polar distance, polar curvature, polar torsion — all constant
Left: polar vectors. Center: image-plane vectors for directed Frenet frame.
Right: image-plane vectors for the rotation-minimizing directed frame.
θ
ψ = −� .
1 + (r/h)2
RMDF orientation relative to Frenet directed frame — linear in θ

views of ellipsoid with camera image plane example: helical path r(θ) = (r cos θ, r sin θ, kθ) with c = k/r
oriented using Frenet directed frame (upper)
(cos θ, sin θ, c θ)
and rotation-minimizing directed frame (lower) o = √ ,
1 + c2θ2

(− c2θ (cos θ + θ sin θ) − sin θ, c2θ (θ cos θ − sin θ) + cos θ, c)


u = √ √ ,
1 + c2θ2 1 + c2 + c2θ2

(c (sin θ − θ cos θ), − c (cos θ + θ sin θ), 1)


v = √ .
1 + c2 + c2θ2


� 1 + c2 + c2θ2 cθ
ρ = r 1 + c2θ2 , λ = , υ = .
r(1 + c2θ2)3/2 r(1 + c2 + c2θ2)
polar distance, polar curvature, polar torsion

√ √
1 + c2θ2 −1 1 1 + c2θ2 − 1
ψ = tan −1
− tan − .
c c c
RMDF orientation relative to Frenet directed frame
directed frames on helical path, r(θ) = (r cos θ, r sin θ, kθ) views of ellipsoid with camera image plane
oriented using Frenet directed frame (upper)
and rotation-minimizing directed frame (lower)

Left: polar vectors. Center: image-plane vectors for Frenet directed frame.
Right: image-plane vectors for the rotation-minimizing directed frame.

closure ANY QUESTIONS ??

• theory, algorithms, applications for rotation-minimizing frames It is better to ask a simple question, and perhaps seem like
a fool for a moment, than to be a fool for the rest of your life.
• RRMF curves = PH curves with rational rotation–minimizing frames
old Chinese proverb
• quaternion and Hopf map characterizations of RRMF quintics

• divisibility characterization for RRMF curves of any degree

• Yogi Berra’s insights on relationship between theory and practice

• rotation-minimizing directed frames in camera orientation control Please note —

• anti-hodograph and polar differential geometry of space curves Answers to all questions will be given
exclusively in the form of Yogi Berra quotations.
some famous Yogi Berra responses

• If you ask me anything I don’t know, Real-time CNC interpolator


I’m not gonna answer.
algorithms for motion control
• I wish I knew the answer to that, because
I’m tired of answering that question.
Rida T. Farouki

Concerning future research directions . . . Department of Mechanical & Aeronautical Engineering,


University of California, Davis

• The future ain’t what it used to be.

— synopsis — fundamentals of CNC machines

• fundamentals of CNC machines & real–time interpolators • linear x, y, z axes driven by independent DC electric motors

• 5–axis CNC machine also incorporates rotary a, b axes


• Taylor series interpolators for general parametric curves
• machine input = path geometry (parametric curve) r(ξ)
• real–time interpolators for Pythagorean–hodograph curves and feedrate (speed) V along path, constant or variable

• experimental performance — PH curves versus G codes • sampling frequency of software controller: f = 1 − 10 kHz
→ sampling interval ∆t = 1/f = 0.1 − 1.0 millisecond
• variable feedrates for constant material removal rate
• position encoders measure actual location of each axis
• inverse dynamics problem for minimization of path error → resolution = basic length unit (BLU) = 0.01 − 0.1 mm

• real–time interpolator converts input r(ξ), V into reference points


• optimal orientations for contour machining of surfaces r(ξ1), r(ξ2), r(ξ3), . . . at sampling times ∆t, 2∆t, 3∆t, . . .
fundamentals of CNC machines (continued) 3-axis “open architecture” CNC mill

• at each sampling time ∆t, 2∆t, 3∆t, . . . controller compares


measured positions p1, p2, p3, . . . of machine (from encoders) with • MHO Series 18 Compact Mill
reference points r(ξ1), r(ξ2), r(ξ3), . . . from real–time interpolator
• 18” × 18” × 12” work volume
• controller uses components of position errors ek = r(ξk ) − pk ,
k = 1, 2, 3, . . . to continuously adjust current to axis drive motors • Yaskawa brushless DC motors

• basic P controller — motor current proportional to position error • zero-backlash precision ball screws

• PID controller — motor current proportional to position error, its • linear encoders, ± 0.001” accuracy
integral, and its derivative (zero steady–state error & fast response)
• MDSI OpenCNC control software
• choice of controller gains (proportionality constants) must ensure
stability of feedback control system • custom real-time interpolators

• we focus on the real–time interpolator algorithm here

“conventional” vs. “high-speed” machining G codes – traditional tool path specification


approximate general curved paths by many short linear/circular moves
• machining times are major determinant of product cost G01 = linear move, G02/G03 = clockwise/anti-clockwise circular move
X,Y = target point, I,J = offsets from current location to circle center
• usual: feedrate ≤ 100 in/min, spindle speed ≤ 6, 000 rpm
F = feedrate, S = spindle speed, T = tool selection, etc.
• HSM: feedrate ≤ 1, 200 in/min, spindle speed ≤ 50, 000 rpm
N01 G01 X0 Y0 F37200
• in HSM inertial forces may dominate cutting forces, friction, etc. N02 G01 X-41 Y87
(especially for intricate curved tool paths) N03 G01 X-62 Y189
N04 G02 X-23 Y478 I654 J0
N05 G01 X474 Y1015
• resonance effects at machine natural frequencies become
. . . etc.
major consideration
• accurate path specification =⇒ voluminous part programs
• most CNC machines significantly under-perform in practice
— control software, not hardware, is usually the limiting factor • block look-ahead problem for acceleration/deceleration management

• aliasing effects in HSM, when G code length comparable to V ∆t


real-time CNC interpolators Taylor series expansions

Suppose ξ(t) specifies time variation of the parameter along r(ξ) when
• computer numerical control (CNC) machine: digital control system
traversed with (constant or variable) feedrate V .
• in each sampling interval (∆t ∼ 10−3 sec) of servo system, Reference–point parameter value ξk+1 obtained from preceding value ξk
compares actual position (measured by encoders on machine axes) by Taylor–series expansion
with reference point (computed by real-time interpolator)
˙ k )∆t +
ξk+1 = ξk + ξ(t 1 ¨ k ) (∆t)2 + · · ·
ξ(t
• real-time CNC interpolator algorithm — given parametric curve r(ξ) 2

and speed (feedrate) function V , compute reference-point parameter


values ξ1, ξ2, . . . in real time: of ξ(t) about t = tk = k∆t, where dots denote time derivatives
˙
=⇒ need expressions for time derivatives ξ(t), ¨ . . . of ξ(t).
ξ(t),
� ξk
|r�(ξ)| dξ For a given curve r(ξ), the parametric speed σ and feedrate V are
= k∆t , k = 1, 2, . . .
0 V defined in terms of cumulative arc length s along r(ξ) by

• general parametric curve — compute ξk by Taylor series expansion ds ds


σ = |r�(ξ)| = , V =
dξ dt
• Pythagorean-hodograph (PH) curves — analytic reduction of
“interpolation integral” ⇒ accurate & efficient real-time interpolator

Time derivatives can be converted to parametric derivatives using For variable feedrate, must express V �, V ��, . . . in terms of derivatives
with respect to variable that V is specified as a function of
d ds dξ d V d
= =
dt dt ds dξ σ dξ time-dependent feedrate: V (t) — acceleration/deceleration rates

Successive applications of d/dt give � �2


σ dV σ � dV σ2 dV σ 2 d2V
V� = , V �� = − 3 +
V dt V dt V dt V 2 dt2
V σV � − σ �V ˙
ξ˙ = , ξ¨ = ξ,
σ σ2
... σV − 3σ V ¨ σV − σ ��V ˙2
� � ��
arc-length-dependent feedrate: V (s) — distance along trajectory
ξ = ξ + ξ , etc. ,
σ2 σ2
dV dV d2V
where primes indicate derivatives with respect to ξ. Derivatives of the V� = σ , V �� = σ � + σ2 2
ds ds ds
parametric speed can be expressed recursively as

r� · r�� r� · r��� + |r��|2 − σ �2 curvature-dependent feedrate: V (κ) — control material removal rate
σ� = , σ �� = , etc.
σ σ � � � �2
dκ dV dκ d2κ dV dκ d2V
V� = σ , V �� = σ� + σ2 2 + σ
ds dκ ds ds dκ ds dκ2
V (κ) case requires arc–length derivatives of curvature: Pythagorean-hodograph (PH) curves

(r� × r��) · z dκ (r� × r���) · z − 3σ 2σ �κ r(ξ) = PH curve in Rn ⇐⇒ components of hodograph r�(ξ)


κ = , = ,
σ3 ds σ4 are elements of a Pythagorean (n + 1)–tuple of polynomials

d2κ (r�� × r��� + r� × r����) · z − 3σ(2σ �2 + σσ ��)κ − 7σ 3σ �(dκ/ds) PH curves exhibit special algebraic structures in their hodographs
= .
ds2 σ5

• rational offset curves rd(ξ) = r(ξ) + d n(ξ)


problems with Taylor series interpolators ds
• polynomial parametric speed σ(ξ) = |r�(ξ)| =

• finite # of terms in Taylor series =⇒ unknown truncation error
� ξ
• polynomial arc-length function s(ξ) = |r�(ξ)| dξ
• coefficients of higher–order terms very complicated & costly to 0
compute =⇒ incompatible with real–time computing � 1
• energy integral E = κ2 ds has closed-form evaluation
• several papers give erroneous coefficients for Taylor interpolators 0

• real-time CNC interpolators, rotation-minimizing frames, etc.

Pythagorean triples — planar PH curves key features of planar PH curves

 ◦ planar PH cubics come from unique curve — Tschirnhausen’s cubic


 x (t) = u (t) − v (t)
 � 2 2
insufficiently flexible for general free–form design
x�2(t) + y �2(t) = σ 2(t) ⇐⇒ y (t) = 2 u(t)v(t)


 σ(t) = u2(t) + v 2(t)
◦ planar PH quintics can interpolate arbitrary Hermite data —
solve nested quadratic equations → always four distinct solutions
K. Kubota, Pythagorean triples in unique factorization domains, Amer. Math. Monthly 79, 503–505 (1972)
◦ extend to planar C 2 PH quintic splines — “tridiagonal” system
R. T. Farouki and T. Sakkalis, Pythagorean hodographs, IBM J. Res. Develop. 34, 736–752 (1990) of 2N +k quadratic equations in N complex unknowns
R. T. Farouki, The conformal map z → z 2 of the hodograph plane, Computer Aided Geometric Design
11, 363–390 (1994)

complex model for planar PH curves

choose complex polynomial w(t) = u(t) + i v(t)

planar Pythagorean hodograph — r�(t) = (x�(t), y �(t)) = w2(t)


PH quintics (blue) have similar shape freedoms to “ordinary” cubics (red)
Pythagorean quartuples — spatial PH curves


 x�(t) = u2(t) + v 2(t) − p2(t) − q 2(t)

 �
y (t) = 2 [ u(t)q(t) + v(t)p(t) ]
x�2(t) + y �2(t) + z �2(t) = σ 2(t) ⇐⇒


 z �(t) = 2 [ v(t)q(t) − u(t)p(t) ]

σ(t) = u2(t) + v 2(t) + p2(t) + q 2(t)

R. Dietz, J. Hoschek, and B. Jüttler, An algebraic approach to curves and surfaces on the sphere
and on other quadrics, Computer Aided Geometric Design 10, 211–229 (1993)

H. I. Choi, D. S. Lee, and H. P. Moon, Clifford algebra, spin representation, and rational
parameterization of curves and surfaces, Advances in Computational Mathematics 17, 5-48 (2002)

quaternion model for spatial PH curves


Bezier control polygons of rational offsets offsets exact at any distance
choose quaternion polynomial A(t) = u(t) + v(t) i + p(t) j + q(t) k

planar PH curves have rational offset curves for use as tool paths spatial Pythagorean hodograph — r�(t) = (x�(t), y �(t), z �(t)) = A(t) i A∗(t)

key features of spatial PH curves real-time CNC interpolators


for Pythagorean-hodograph (PH) curves

◦ spatial PH cubics are all helical curves — tangent satisfies


a · t = cos ψ (a = helix axis, ψ = helix angle) and κ/τ = constant 12 p1
25 segments
! = 0.0105

◦ spatial PH quintics can interpolate arbitrary Hermite data: solve p5

three quadratic equations → two-parameter family of interpolants 8 50 segments


! = 0.0025

p0
2
◦ extend to spatial C PH quintic splines — selection of many p4
4
free parameters still an open problem
100 segments
! = 0.0006

0 4 8 12 16

◦ many special types — helical polynomial curves; double PH curves


(rational Frenet frames); rational rotation–minimizing frame curves; etc. Left: analytic tool path description (quintic PH curve). Right: approximation
of path to various prescribed tolerances using piecewise-linear G codes.
comparative feedrate performance: 100 & 200 ipm comparative feedrate performance: 400 & 800 ipm

G codes PH curve G codes PH curve


200 800
100 ipm 100 ipm 400 ipm 400 ipm

feedrate (ipm)

feedrate (ipm)
150 600

100 400

50 200

0 0

G codes PH curve G codes PH curve


200 800
200 ipm 200 ipm 800 ipm 800 ipm
feedrate (ipm)

feedrate (ipm)
150 600

100 400

50 200

0 0
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1 2 3 0 1 2 3
time (sec) time (sec) time (sec) time (sec)

The G code and PH curve interpolators both give excellent performance At 400 & 800 ipm, the PH curve interpolator continues to yield impeccable
(red) at 100 and 200 ipm. The “staircase” nature of the x and y feedrate performance – but the performance of the G code interpolator is severely
components (blue and green) for the G codes indicate faithful reproduction degraded by “aliasing” effects, incurred by the finite sampling frequency
of the piecewise-linear path, while the PH curve yields smooth variations. and discrete nature of the piecewise-linear path description.

repertoire of feedrate variations for PH curves constant, linear, quadratic arc length dependence
real-time CNC interpolator: given parametric curve r(ξ) and feedrate
variation V , compute reference-point parameter values ξ1, ξ2, . . . from
� ξk �
|r (ξ)| dξ
= k∆t
0 V

usual approach — invoke a truncated Taylor series expansion


� � a b c
V V r� · r�� (∆t)2
ξk = ξk−1 + ∆t + 2 V � − V + ···
σ σ σ 2 2 10
V
8
PH curves admit analytic reduction of the interpolation integral, for many
b
feedrate variations of practical interest: 6
a

◦ constant V, linear or quadratic dependence V (s) on arc length s 4

◦ time-dependent feedrate, for any easily integrable function V (t) 2 c


s/S
— useful for acceleration and deceleration management 0
0.0 0.2 0.4 0.6 0.8 1.0
◦ curvature-dependent feedrate for constant material removal rate
(MRR) at fixed depth of cut δ — V (κ) = V0 [ 1 + κ(d − 21 δ) ]−1
material removal rate (MRR) as function of curvature curvature-dependent feedrate for constant MRR
δ
δ

c
V0 δ
a
rd(ξ) d

r(ξ)
r r
b

V0
2.0 c

V0

feedrate variation V / V0
1.5
d

clockwise, κ = –1 / r linear, κ = 0 anticlockwise, κ = 1 / r 1.0


a
0.5
b

Volume removed (yellow area) by a cylindrical tool of radius d moving with 0.0
0.0 0.2 0.4 0.6 0.8 1.0

feedrate V0 through depth of cut δ for: a clockwise circular path of radius r 1.25
fractional arc length s / S

(left); a linear path (center); and an anti–clockwise circular path of radius r


1.00
(right). In each case, the MRR can be expressed in terms of the curvature constant feedrate, V = V0

average cutting force (kN)


as V0 δ [ 1 + κ(d − 21 δ) ]. Hence, to maintain constant MRR, one should use 0.75

the curvature–dependent feedrate 0.50


variable feedrate,
V = V0 / [ 1 + κ (d – 0.5 δ) ]

0.25

V0 250 Hz sampling

V (ξ) = . 0.00

1 + κ(ξ) (d − 21 δ) 4 8 12 16 20 24 28 32 36
curve arc length (mm)
40 44 48 52 56 60

time-dependent feedrates for G codes for PH curve tool paths


acceleration & deceleration profiles
G05 = quintic PH curve, A,B,C,P,Q,R = coefficients of u(t), v(t)
acceleration (ipm/sec)

800 linear 4800 X,Y = target point, F & U,V,W = variable feedrate type & parameters
feedrate (ipm)

600 3600

400 2400
N05 G05 H5 F0 U37200
200 1200
N10 G05 X1092 Y-294 A-31.026 B-38.537 C-31.481 P16.934 Q-16.436 R13.062
0 0 N15 G05 X1470 Y-1386 A-31.481 B-24.426 C-28.476 P13.062 Q42.560 R2.794
acceleration (ipm/sec)

800 cubic 4800 N20 G05 X2226 Y-294 A-28.476 B-32.526 C-36.896 P2.794 Q-36.972 R-14.887
feedrate (ipm)

600 3600 N25 G05 X3444 Y504 A-36.896 B-41.267 C-32.579 P-14.887 Q7.197 R-25.365
400 2400 N30 G05 X2226 Y1722 A-32.579 B-23.892 C8.378 P-25.365 Q-57.927 R-36.389
200 1200
N35 G05 X2100 Y504 A8.378 B40.647 C21.987 P-36.389 Q-14.851 R-28.356
0 0
N40 G05 X1134 Y252 A21.987 B3.326 C-13.761 P-28.356 Q-41.861 R-28.525
N45 G05 X756 Y1050 A-13.761 B-30.849 C-3.668 P-28.525 Q-15.189 R-32.746
acceleration (ipm/sec)

800 quintic 4800


N50 G05 X0 Y0 A-3.668 B23.514 C31.026 P-32.746 Q-50.304 R-16.934
feedrate (ipm)

600 3600

400 2400

200 1200 R. T. Farouki, J. Manjunathaiah, G–F. Yuan, G codes for the specification of Pythagorean–hodograph
0 0 tool paths and associated feedrate functions on open–architecture CNC machines, International Journal
1.0 1.1 1.2 1.3 1.4 1.5 1.0 1.1 1.2 1.3 1.4 1.5
time (sec) time (sec)
of Machine Tools & Manufacture 39, 123–142 (1999)

� �2 allows combination of traditional (linear/circular) G codes and PH quintics,


dV
(acceleration magnitude)2 = + κ2 V 4 with variable feedrates — dependent on time, arc length, or curvature
dt
inverse dynamics problem for path error minimization
block diagram of CNC machine x–axis drive with PID controller

inertia (resistance to motion) and damping (frictional energy dissipation) X + e u i T ω θ x


of CNC machine axes prevent exact execution of commanded motion kp + ki / s + kd s ka kt 1 / (Js+B) 1/s rg

develop dynamic model of machine/controller system, expressed in terms


of linear ordinary differential equations

transform independent variable from the time t to the curve parameter ξ :


constant coefficients → polynomial coefficients
X = commanded position from real–time interpolator
revert differential equations: swap input & output dependent variables x = actual position as measured by position encoders
e = X − x = instantaneous x–axis position error
solve reverted differential equations for modified input path that, subject kp, ki, kd = proportional, integral, derivative gains
to machine dynamics, exactly yields desired output path u = output voltage from controller
i = current from current amplifier
for brevity, consider only x–axis motion (same principles for y, z axes)
T = torque from DC electric motor
J, B = x–axis inertia and damping
ω, θ = motor shaft angular speed & position
rg = transmission ratio (angular → linear conversion)

machine/controller dynamics If ξ(t) specifies time variation of parameter when (X(ξ), Y (ξ)) is traversed
with (constant or variable) feedrate V , its time derivatives are
CNC machine executes actual path (x(t), y(t)) determined from
V σV � − σ �V ˙ ... σV � − 3σ �V ¨ σV �� − σ ��V ˙2
commanded path (X(t), Y (t)) by differential equations of the form ξ˙ = , ξ¨ = ξ, ξ = ξ + ξ , etc.
σ σ2 σ2 σ2
...
ax x + bx ẍ + cx ẋ + x = dx Ẍ + ex Ẋ + X , and we have
...
ay y + by ÿ + cy ẏ + y = dy Ÿ + ey Ẏ + Y ,
d d d2 d2 d d3 d3 d2 ... d
= ξ˙ , = ξ˙2 2 + ξ¨ , = ξ˙3 3 + 3 ξ˙ ξ¨ 2 + ξ , etc.
where dots indicate time derivatives, constant coefficients ax, bx, . . . dt dξ dt2 dξ dξ dt3 dξ dξ dξ
depend on the machine/controller physical parameters.
Hence transformed differential equations become
But commanded path (X(ξ), Y (ξ)) specified by general parameter ξ,
rather than time t. αx(ξ) x��� + βx(ξ) x�� + γx(ξ) x� + δx(ξ) x = λx(ξ) X �� + µx(ξ) X � + νx(ξ) X ,
Transform independent variable: time t → curve parameter ξ αy (ξ) y ��� + βy (ξ) y �� + γy (ξ) y � + δy (ξ) y = λy (ξ) Y �� + µy (ξ) Y � + νy (ξ) Y ,

d ds dξ d V d where primes denote derivatives with respect to ξ, and αx(ξ), βx(ξ), . . .


= = ,
dt dt ds dξ σ dξ are polynomials in ξ if (X(ξ), Y (ξ)) is a PH curve.

where σ = ds/dξ = parametric speed, and V = ds/dt = feedrate.


Now revert the differential equations — solve “backwards” to find input For more sophisticated PI and PID controllers, obtain first and second
required to produce desired output. order differential equations for X̂, Ŷ .
Input = modified path (X̂(ξ), Ŷ (ξ)), output = desired path (X(ξ), Y (ξ))
NOTE: ki �= 0 ⇒ zero steady–state error and kd �= 0 ⇒ fast response.
λx(ξ)X̂ + µx(ξ)X̂ + νx(ξ)X̂ = αx(ξ)X
�� � ���
+ βx(ξ)X + γx(ξ)X + δx(ξ)X,
�� �
ODEs with polynomial coefficients & right–hand sides do not, in general,
λy (ξ)Ŷ + µy (ξ)Ŷ + νy (ξ)Ŷ = αy (ξ)Y
�� � ���
+ βy (ξ)Y �� + γy (ξ)Y � + δy (ξ)Y. admit polynomial solutions.

Must solve initial value problem for linear ODEs in X̂(ξ), Ŷ (ξ) with known Need good numerical method to approximate solutions on ξ ∈ [ 0, 1 ] by
polynomials in ξ as coefficients and right–hand sides. polynomial or piecewise–polynomial functions:

Simplest case: P controller with ki = kd = 0 ⇒ λx(ξ) = µx(ξ) ≡ 0 and


λy (ξ) = µy (ξ) ≡ 0. Can solve exactly for X̂, Ŷ as • Chebyshev economization methods

bxσV 2X �� + V [ bx(σV � − σ �V ) + cxσ 2 ] X � + σ 3X • linear least–squares approximation


X̂ = ,
σ3
by σV Y + V [ by (σV − σ V ) + cy σ ] Y + σ Y
2 �� � � 2 � 3 • interpolation at Chebyshev nodes
Ŷ = .
σ3
• . . . etc.
Modified path exactly determined as higher–order rational Bézier curve!

example: quintic PH curve and P controller comparison of output for original and modified paths

P controller with gain kp = 10 and constant feedrate V = 0.12 m/s

original path modified path

original curve modified curve

Left: quintic PH curve defining desired path (X(ξ), Y (ξ)). Right: modified
path (X̂(ξ), Ŷ (ξ)) that compensates for the machine/controller dynamics,
for a P controller with gain kp = 10 and constant feedrate V = 0.12 m/s.
commanded executed commanded executed
4 0
parametric speed σ

3
–20
Comparison of commanded and executed motions for original (left) and
2
–40 modified (right) paths. In the former case, the executed motion deviates
1
–60 curvature κ
significantly from the desired path. In the latter case, the executed motion
0
0.0 0.25 0.50 0.75 1.0 0.0 0.25 0.50 0.75 1.0
is essentially indistinguishable from the original commanded path.
arc length s arc length s

Extreme variation of parametric speed and curvature on quintic PH curve.


axis accelerations for original and modified paths results for the PI controller

0.8
0.2
original path modified path
0.6
modified path 0.0

y axis acceleration ( m/s2 )


x axis acceleration ( m/s2 )

0.4 –0.2 original path

0.2 –0.4
original path

0.0 –0.6
modified path
–0.2 –0.8

–0.4
0 1 2 3 4 5 6 7 8 9 10
–1.0
0 1 2 3 4 5 6 7 8 9 10
commanded executed commanded executed
time (sec) time (sec)

Comparison of x and y axis accelerations for original and modified paths. Commanded and executed motions for original (left) and modified (right)
The modified path incurs greater peak accelerations, requiring a higher paths, using a PI controller with gains kp = ki = 10 and constant feedrate
motor torque capacity. V = 0.12 m/s. Modified path is approximated by a degree 30 polynomial,
constructed by interpolation at the Chebyshev nodes on ξ ∈ [ 0, 1 ].

contour machining of free-form surfaces optimal section-plane orientation

Given parametric surface r(u, v) for (u, v) ∈ [ 0, 1 ] × [ 0, 1 ] and set Π of


parallel planes with normal N and equidistant spacing ∆, planar sections
of r(u, v) by planes of Π are the surface contours.

In contour machining, these surface contours define the contact curves


of a spherical
� cutter with r(u, v). Spacing between adjacent contours is
� ≈ ∆/ 1 − (N · n)2, where surface normal n is defined by

ru × rv
n = , (u, v) ∈ [ 0, 1 ] × [ 0, 1 ] .
|ru × rv |

For “best quality” contours — that minimize scallop height of machined


surface between adjacent tool paths — we need to find orientation N of
the planes Π that minimizes N · n for (u, v) ∈ [ 0, 1 ] × [ 0, 1 ].

In other words, N should be “as far as possible” from the set { n } of all
normals to the surface r(u, v).
strategy for optimal orientation N of section planes parabolic lines on free-form surfaces

• set of normals {n} = Gauss map of surface, on unit sphere S 2

• Gauss map boundary = subset of images of the parabolic lines


(zero Guassian curvature) and patch boundaries on S 2

• symmetrize Gauss map by identifying opposed normals n, −n

• perform stereographic projection of Gauss map from S 2 to R2

• compute medial axis transform on complement of Gauss map

• center of largest circle in medial axis transform identifies vector


N furthest from all normals n to r(u, v)

• also applies to rapid prototyping / layered manufacturing processes

T. S. Smith, R. T. Farouki, M. al–Kandari, and H. Pottmann, Optimal slicing of free–form surfaces,


Computer Aided Geometric Design 19, 43–64 (2002)

Gauss map computation for free-form surfaces medial axis transform for complement of Gauss map
closure

• Pythagorean-hodograph curves ideally suited to CNC machining

• PH curve real–time interpolator algorithms for feedrates dependent


on time, arc length, or curvature

• anayltic curve interpolators give smoother and more accurate


realization of high feedrates and acceleration rates than G codes

• PH curves amenable to solution of inverse dynamics problems


to compensate for inertia & damping of machine axes

• spatial motion planning problems — optimal orientation of section


planes for contour machining & use of rotation–minimizing frames
in 5–axis machining

Das könnte Ihnen auch gefallen