54
A Simple Model of Ship Wakes by RAZA S. KHAN B.S., Denison University, 1991 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN THE FACULTY OF GRADUATE STUDIES DEPARTMENT OF COMPUTER SCIENCE We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA September, 1994 © Raza S. Khan, 1994

A Simple Model of Ship Wakes

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Simple Model of Ship Wakes

A Simple Model of Ship Wakes

by

RAZA S. KHAN B.S., Denison University, 1991

A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF

THE REQUIREMENTS FOR THE D E G R E E OF

MASTER OF SCIENCE

IN THE FACULTY OF GRADUATE STUDIES

DEPARTMENT OF COMPUTER SCIENCE

We accept this thesis as conforming to the required standard

T H E U N I V E R S I T Y O F B R I T I S H C O L U M B I A

September, 1994

© Raza S. Khan, 1994

Page 2: A Simple Model of Ship Wakes

In presenting this thesis in partial fulfillment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission.

(Signature)

\ Department of Computer Science

The University of British Columbia Vancouver, Canada

Date 94/09/24

Page 3: A Simple Model of Ship Wakes

Abstract

While ocean waves were among the first natural phenomenon to be modeled satisfactorily

in computer graphics, waves from ships—ship wakes—have been largely ignored. The

model presented in this thesis is suitable for animating wakes created by a ship moving

along an arbitrary course. Instead of the dynamic solution of a free-surface problem that

can be computationally expensive and unstable, the approach presented is kinematic and

while ad hoc, is efficient and simple to implement.

The model superimposes circular waves emanating from points along the ship's path to

determine the wake profile. In doing so, characteristics of the ship's hull are ignored.

The approach is similar to the mathematical treatment of Kelvin's method of stationary

phase, where curves of constant phase are obtained by integrating point impulses over

the ship's course. Accuracy in obtaining an exact profile for the surface, as determined

by the stationary phase method for closed-form solutions, is sacrificed for the ability to

specify an arbitrary path.

The problem then becomes one of generating circles with a height field associated with

them. This is done by adopting two different methods; one that uses a midpoint circle

algorithm based on Bresenham's incremental circle generator and another that efficiently

determines a profile for the circles.

The path of the ship is represented by parametric piecewise-cubic curves and the water

surface by a height field. An animation is obtained by generating the height field for

successive positions of the ship along the curve.

11

Page 4: A Simple Model of Ship Wakes

Contents

Abstract ii

Table of Contents iii

List of Figures v

Dedication vi

Acknowledgement vii

1 Introduction 1

1.1 Motivation 1

1.2 Objective 3

1.3 Previous Work in Modeling Waves 6

1.4 Overview 8

2 Mathematical Background 9

2.1 Determination of Region of Disturbance 10

2.1.1 Solution for disturbance created by a point impulse 10

2.2 Obtaining Curves of Constant Phase 13

2.2.1 Curves of constant phase for a circular course 13

2.2.2 Curves of constant phase for a straight course 15

2.3 Wake Geometry for a Straight Path 16

2.4 Estimating the Profile for a Circular Wave 19

iii

Page 5: A Simple Model of Ship Wakes

3 Graphical Model of Ship Wakes 21

3.1 Introduction 22

3.2 Ship Path Specification 22

3.2.1 The Bezier curve 23

3.2.2 Arc-length parameterization 24

3.3 Techniques Used to Generate Circular Waves 24

3.3.1 Calculating radius and amplitude of the circles 25

3.3.2 Midpoint circle scan-conversion algorithm 26

3.3.3 Computing a profile for circles 27

4 Results 29

4.1 Varying the Path 30

4.2 Changing the Number of Circles 34

4.3 Effect of Acceleration and Deceleration on Wake Produced 36

5 Conclusion 39

5.1 Future Work 40

A Algori thms 42

A.l Pseudocode for Arc-Length Parameterization 42

Bibliography 44

IV

Page 6: A Simple Model of Ship Wakes

List of Figures

1.1 Ship wake characteristics 4

1.2 Geometry for Goss's representation of ship wakes 7

2.1 Notation used for the ship wave problem 11

2.2 Points influenced by a moving source 12

2.3 Curves of constant phase for a circular path 14

2.4 Curves of constant phase for a straight path 15

2.5 Wake geometry for a straight path 16

2.6 Wave groups for vessel on a straight path 17

2.7 Plot of ^ 18 X

2.8 Surface profile of Stokes's wave compared to a sinusoidal wave 20

3.1 Effect of arc-length parameterization on curve 25

3.2 Clipped region for circle profile calculation 28

4.1 Images obtained for a straight course before and after filtering 31

4.2 Images obtained for a curved path before and after filtering 32

4.3 Images obtained for a self-intersecting path before and after filtering. . . 33

4.4 Showing effect of number of circles on the wake 35

4.5 Wake produced by a vessel that is decelerating 37

4.6 Wake produced by a vessel that is accelerating 38

v

Page 7: A Simple Model of Ship Wakes

To nana, nani, dada, dadi

VI

Page 8: A Simple Model of Ship Wakes

Acknowledgements

I would like to thank my supervisor, Dr. Alain Fournier and my second reader, Dr. David

Forsey for their guidance in the completion of this thesis.

I am grateful to the following, without whom this work would not have reached fruition:

Bill, for taking on the role of student reader without even being asked. My thanks to him

for countless McD. runs, his counsel to exercise restraint in the use of Forms, and much

useful advice over the course of our friendship. Chris R. for his glowing presence in the

lab, his sympathetic ear to my many grievances, and for vacating Lucille on numerous

occasions during the troublesome coding days (nights); Chris H. for preserving some

sanity by taking me on movie runs; Rob, for his late night stories; Sameer, for being the

permanent resident on the third floor no matter what the time! and Vishwa, for much

encouragement.

I would also like to express my acknowledgments to my brother, Ayaz, a constant source

of inspiration for always being there and my parents for their endless support and love.

I remain indebted to the department for providing me with financial support during the

course of my studies here.

vn

Page 9: A Simple Model of Ship Wakes

Chapter 1

Introduction

Once more upon the waters! yet once more! And the waves bound beneath me as a steed That knows his rider.

-Lord Byron, 1788-1824

A wake is "the track left by a moving body (as a ship) in a fluid (as water)"1. This thesis

presents a method for modeling ship wakes suitable for computer graphics.

1.1 Motivation

While substantial research has been directed towards the theory of wake production by

mathematicians and hydrodynamists alike [kelv87], [sher56], [stok57], [kost68], [mich69],

[newm77], [crap84], it has not spurred similar interest among graphics researchers to

model the phenomenon. This comes as more of a surprise when one realizes that waves,

albeit ocean waves, were among the first natural phenomenon to be modeled satisfactorily

1 Webster's 7th dictionary.

1

Page 10: A Simple Model of Ship Wakes

Chapter 1. Introduction 2

in computer graphics [fole90].

Ocean waves themselves, however, were but a link in the chain of evolution that extends

not so far back to the days of modeling static geometrical primitives such as lines, circles,

and rectangles. Computer graphics has indeed evolved to capture some aspects of the

complex motion of fluid flows [gate94], growth of botanical systems [prus93], explosions

[reev83], and other phenomenon that are considered natural. It is not only in this context,

though, that one sees the importance of modeling ship wakes. Another incentive comes

from the interaction between two objects. Animating a boat and applying textures to

enhance the image can produce convincing results, but the motion of a boat affects the

surface underneath it and this phenomenon needs to be captured as well. It is with this

purpose in mind that this model has been developed.

An extension of the problem, modeling the interaction between two types of models, has

not been much explored. However, it will gain attention as animation systems become

further integrated. The few published examples of this approach include interaction

of wind fields with plant models [shin92] and the effect of the environment on plants

[prus94].

Goss models ship wakes to provide a motion cue for aircraft pilots in assessing the

movement of ships [goss90]. Since the model was intended for flight simulation, a real­

time method was essential. Also, considering that the viewing distance from aircrafts

flying overhead is large compared to wave amplitude, a 2-D model was sufficient. The

present work is not limited by such considerations and therefore a more general 3-D

model is desired.

Animators interested in capturing the motion of vessels over water would benefit from

a model that incorporates ship wakes. Such a model could accommodate one or several

of the following criteria: shape and size of the ship, speed and path of motion, depth of

Page 11: A Simple Model of Ship Wakes

Chapter 1. Introduction 3

water, and various factors not limited to wind and turbulence on the water surface. The

model subsequently discussed allows specification of an arbitrary path in generating a

wake and is simple to implement.

1.2 Objective

The principle interest here is in modeling realistic shape and motion of the waves gener­

ated as a ship moves through water. Realistic does not imply the waves follow precisely

the dynamics of ship waves. Considering that ship waves are influenced by several fac­

tors including but not limited to ship motion, wind, and wave motion [goss90], such a

task would be quite difficult. This does not necessarily mean the objective is lost, es­

pecially when one considers that much of the effort directed towards modeling natural

phenomenon, is based on ad hoc techniques [fole90].

While a ship wake model for computer graphics need not satisfy physical laws precisely,

several parameters that would affect the shape of the wake should be recognized. The

model presented in this thesis was conceived to meet but one of these criteria: arbitrary

path specification. Nonetheless, others are listed to acknowledge the necessity of further

work in the area.

• Wind velocity

Waves at sea are generated by wind [kins65] and therefore wind velocity can be

considered instrumental in perturbing the ocean surface as well as affecting the

motion of the ship and its wake.

• Speed of the vessel

For deep water2 the speed at which a ship travels does not affect the angle of the V-

2Water is considered deep if for depth d, j > \ where A is the wavelength of the waves [ts'o87].

Page 12: A Simple Model of Ship Wakes

Chapter 1. Introduction 4

Figure 1.1: Ship wake characteristics

shaped envelope (see Figure 1.1) or wedge enclosing the wakes [walk88]. However,

it can be a factor in two ways. First, if the speed is not kept constant, for a

straight course the wake produced would no longer lie within V-shaped lines, but

rather within curved lines and would affect their shape as well [stok57]. Second, in

the case of transverse waves, as opposed to the more conspicuous diverging waves,

wave resistance can be reduced by designing ships that travel at cruising speeds

such that crests produced at the bow cancel troughs produced at the stern. This

occurs when the ship's length is an integer multiple of wavelength, i.e. / = '—-

where I is the length of the ship, k is the wave number, and N is an integer. Based

on the derivation by Crapper [crap84], along a straight path of motion k = ^ for

ships traveling with velocity v (and g the acceleration due to gravity) which means

disturbance produced by the bow and stern cancel at:

v 1

In shallow water, as v above increases, the wedge angle increases reaching its max-

Page 13: A Simple Model of Ship Wakes

Chapter 1. Introduction 5

imum value of 90° when:

Vgd

where d is depth of the water. This critical speed \J~gd is the maximum possible for

gravity waves. Transverse waves disappear for a ship traveling beyond this critical

speed and the wedge angle again reduces [crap84].

• Shape of the vessel

The relative size of the wakes depends largely on the shape of the ship. Hydrody-

namists have expended significant time in researching effects of the shape of the

bow and have shown that resistance to water is significantly reduced by a bulbous

bow as opposed to a non-bulbous bow.

• Path of the vessel

Intuitively one would expect the shape of the wake to differ as a ship changes

direction. Ship wakes are a consequence of a complex interference pattern and

as path of motion changes the position of points causing the interference pattern

would also change.

• Depth of water

The principles governing the shape of a wave in shallow and deep water differ. As

noted in the case of ship speed, in shallow water the wake angle increases to a

maximum at speed \fgd and then reduces again.

As mentioned earlier in this section, the model discussed here accommodates any path

including one that self intersects. This is not necessarily a small matter, given that much

of the mathematics dealing with the phenomenon as discussed in [stok57] is limited to

waves that follow the ship like a rigid body, i.e., applies to waves that originate for the

straight or circular courses.

Page 14: A Simple Model of Ship Wakes

Chapter 1. Introduction 6

As will be made evident in the mathematical treatment of the phenomenon to follow,

the ship is reduced to a point source. Thus, there is no provision for a vessel's shape to

influence the wake produced. Similarly, wind effects are ignored, though some adjustment

of the type in [four86] could be implemented on the wakes to account for them. Changes

to wave velocity based on depth of water, and amplitude based on distance, though

relevant for refraction on the surface in the case of the former, have not been presently

considered but they can be easily integrated.

It should be noted that, while most of the discussion of wake generation undertaken in

this thesis focuses on a ship moving with constant velocity, the model does not impose

this restriction. In the model presented here, circular waves are superimposed along the

ship's path and the speed at which they propagate is constrained. The constraints are

based on the ship's velocity and the maximum displacement that would satisfy the wedge

angle mentioned above.

1.3 Previous Work in Modeling Waves

Fournier [four86] provides a brief history, to date, of modeling waves in computer graph­

ics. Images of ocean waves have been generated using techniques in [whit80], [scha80],

[max81], [nort82], [perl85], [peac86], [four86], [mast87], and [ts'o87]. In [kass90], Kass

and Miller presented an efficient and stable method of modeling waves in a fish tank or

waves lapping on a beach.

While little effort has been directed towards producing realistic images of ship waves,

Goss [goss90] presented a 2-D particle-based approach to display ship wakes in real­

time. Each wake is represented by a line segment whose endpoints constitute an aft

particle and a fore, or bow, particle. The basis of the approach is shown in Figure 1.2.

Page 15: A Simple Model of Ship Wakes

Chapter 1. Introduction 7

Path of Aft Particle osition of Ship

Fore Particle

Initial Position of Ship Wake Line

Figure 1.2: Geometry for Goss's representation of ship wakes

While the aft particle moves away from the ship with velocity vector V(c) = ( | , f-v/f)

based on a ship speed of c, the bow particle proceeds along the path of the ship for a

predetermined time period AT called the spawn period. After this time it is released

with a magnitude slightly less than that of the aft particle to give rise to the serrated

appearance characteristic of ship wakes. A new wake is then generated using the same

technique. Changes in the ship's heading are reflected in an absolute velocity vector,

which is obtained by rotating V(c) through the appropriate angle. Since the model is

two-dimensional, changes in amplitude are indicated by interpolating the color of the

line segment from blue-gray to blue, where blue represents the ocean color. The velocity

vector employed for aft and subsequently fore particles to give the semblance of a wake

is based on the approach used in [walk88] which is discussed in detail in Section 2.3.

Page 16: A Simple Model of Ship Wakes

Chapter 1. Introduction 8

1.4 Overview

Chapter 2 provides a mathematical description of waves generated by a moving pressure

point in deep water, from which the model proposed in this thesis is partly derived. The

chapter also discusses the wake geometry for a straight path as mentioned in Section 1.3

and includes a description of Stokes's wave—an approximate solution of non-linear par­

tial differential equations describing wave motion. The techniques used to design and

implement the model are described in Chapter 3. Issues pertaining to the two methods

adopted to generate circular waves are raised here. In Chapter 4 the results obtained

are presented and analyzed and Chapter 5 concludes with directions for future work.

Page 17: A Simple Model of Ship Wakes

Chapter 2

Mathematical Background

Let no one enter who does not know geometry [mathematics]. -Anonymous1

This chapter discusses the mathematical treatment of ship wakes. The solution for

the problem as described by Stoker [stok57] is based on the cumulative effect of point

impulses delivered along a ship's path. While the mathematics yields curves that bear

a striking resemblance, at least qualitatively, to actual wave patterns, they are limited

to closed-form solutions of straight and circular courses. In any case, Stoker's solution

is provided to show how the concept of this present work originated, as is made evident

in Chapter 3.

Stoker's solution involves the method of stationary phase introduced by Kelvin in 1887

[kelv87]. Kelvin invented the method of stationary phase as a means of approximating

wave patterns created by moving ships. Newman [newm77] gives an alternate "heuristic

argument" based on a concept of group velocity to describe the phenomenon. Crap-

per [crap84] draws on the Doppler relation for a uniform current flowing pass a fixed

Purportedly the inscription on Plato's door at the Academy at Athens.

9

Page 18: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 10

disturbance to arrive at a similar solution.

The assumption throughout is of a fluid that is incompressible2, inviscid3, and irrotational4.

Furthermore, the discussion is limited to waves produced in deep water by a point source

moving with constant speed.

In the following section an envelope of points containing the region of disturbance pro­

duced by a point impulse is determined. Next, the character of the wave pattern is

deduced. This is followed by a section describing the wake geometry for a ship travel­

ing in a straight path. Finally, to complete the chapter on mathematical background,

Stokes's wave approximation, used to compute a profile for circular waves, is presented.

2.1 Determination of Region of Disturbance

Stoker [stok57] provides a method of describing the region of disturbance for a pressure

point moving with constant speed. This region is found for both circular and straight

courses.

It is, of course, not accurate to state that the disturbance is restricted to a particular

region. However, the order of disturbance outside the envelope is quite small in relation

to the disturbance within the envelope [stok57] and comparison to observations of actual

ships moving in water attests to this fact.

2.1.1 Solution for disturbance created by a point impulse

2 Constant density. 3Force on fluid inside a surface due to fluid outside the surface is purely a pressure normal to that

surface, with the only other force being the body force due to gravity (i.e., zero viscosity).

individual particles of the fluid do not rotate (i.e., zero vorticity).

Page 19: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 11

Current Position of Point Source

Q(x t,y t)

P(x,y)

Final Position

Figure 2.1: Notation used for the ship wave problem.

Consider a point source moving on a circle s, whose center is at C, with constant speed

c as shown in Figure 2.1. Let t be the time taken for the source to arrive at the origin

O from a point Q(xt,yt)- The tangent vector t to C at Q(xt,yt) can be expressed as:

,dx dy. t = (— — ̂ 1 dt' dt'

(2.1)

and with t = 0 at the origin, has direction opposite to that of the ship's course. The

radius of s is denoted by R and the change in angle from Q(xt,yt) to O by a, where:

ct a = R

(2.2)

The point P(x,y) representing a point influenced by Q(xt,yt) is located by means of a

vector r where:

T = (x-xt,y-yt) (2.3)

Page 20: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 12

and:

r2 = (x - xtf + (y- ytf (2.4)

The angle between t and r is 9. Considering the order of approximation for the distur­

bance, the only points P influenced by Q(xt,yt) are obtained by application of Kelvin's

method of stationary phase [stok57], [newm77], and are those points that satisfy in polar

coordinates (r,0), relative to Q, the relation:

r=-ct cos 6 (2.5) 2 v '

Such points lie on a circle that originates from Q(xt, yt) and has a diameter tangent to

s as shown in Figure 2.2.

s

Q(x, ,yt j V - ^

\ V — \ V / e

P(",yK-__

i

3-̂ v̂

\ l / 2 ct

^ \ \ 7--A''

• Y

' C

J ,*'''// ^^^^

Jv̂ "' o X

Figure 2.2: Points influenced by a moving source.

Page 21: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 13

2.2 Obtaining Curves of Constant Phase

2.2.1 Curves of constant phase for a circular course

The stationary phase condition (2.5) can be expressed in a different form to obtain curves

of constant phase. Stoker [stok57] introduces the quantity a such that for phase <p:

2c2 , c2t2 , N

a = y ^ = — (2.6)

with 4>(t) = ^- and obtains equivalent expressions of the phase condition:

ct = a cos 9 (2.7)

and:

r = 2

Considering Figure 2.1 again, one finds:

r = -acos20 (2.8)

xt = i?sina,

yt = R(l — cos a)

The coordinates of P, influenced by Q(xt,yt) are then:

x = xt — rcos(a + 0),

V — yt- r sin (a + 9)

Replacing xt and yt using (2.9) and r using (2.8), (2.10) becomes:

x = 7? sin en — | cos2 # cos (a + 9),

y = R(l — cos a — ~ cos2 9 sin(a +

(2.9)

(2.10)

(2.11)

Page 22: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 14

To determine a locus of points (x,y) such that the phase <fi (or a) is constant, Stoker

introduces:

(2.12) a X=R

which yields curves of constant phase in terms of 8 as parameter, expressed as:

x = jR[sin(x cos #) — |cos2#cos(6> + xcos#)],

y = R[l — cos(xcos#) — | cos2 ^sin(^ + x'c°s#)] (2.13)

Figure 2.3: Curves of constant phase for a circular path

Here each fixed value of \ provides one curve of constant phase and is equivalent to

fixing the phase 6. Figure 2.3 {x on abscissa; y on ordinate axis) shows a few such

curves obtained for a fixed radius R of small value and varying a.

Page 23: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 15

2.2.2 Curves of constant phase for a straight course

For a straight course, R —> oo and x —* 0 such that i?x ~~* a- In this case (2.13) can be

written as: x = Rxcos9 - ^cos26cos(6 + 0),

y = R-RcosO-^cos29sm(d + 0)

which results in: x = f cos 0(1+ sin2 9),

y = — £ sin 9 cos2 9

(2.14)

(2.15)

Figure 2.4: Curves of constant phase for a straight path

Figure 2.4 (x on abscissa; y on ordinate axis) shows a few curves obtained for a straight

course with radius R set to a large value (approaching oo) with varying a.

Page 24: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 16

2.3 Wake Geometry for a Straight Pa th

Goss [goss90] uses the wake geometry to compute a vector for the path followed by

aft particles in drawing wake segments. The approach draws on simplified versions of

Kelvin's analysis of the phenomenon as introduced in Section 2.2.

Consider the ship initially at point Q having moved to point O as shown in Figure 2.5.

According to Kelvin's analysis, wave groups generated with the ship at position Q, lie

within a circle of radius | the distance to O on a tangent to the path, s as previously

indicated in Figure 2.2. Subsequent circles representing wave groups further along the

path are shown in Figure 2.6.

Transverse Wake Diverging Wake (Starboard)

O

V-Shaped Wedge

Figure 2.5: Wake geometry for a straight path.

The character of the wake as determined from (2.15) can be divided into a transverse

wake and more apparent diverging wakes on either side of the ship. The V-shaped wedge

enclosing diverging wakes always forms an angle r of 19°28' for a straight course traversed

Page 25: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 17

^ . Y ^ > > &

V-Shaped Wedge

O

Location of groups from A

Figure 2.6: Wave groups for vessel on a straight path.

at constant speed in deep water:

CP \cAT 1 sin{T) — — — -

OC jcAT 3 4

1 T = sin-1 - « 19°28'

3

(2.16)

(2.17)

The angle is not arrived at by accident. Consider (2.15) again and put in the form of v-:

V sin 6 cos 9

x (1 + sin2 9) (2.18)

Differentiating (2.18) and setting left-hand side to 0 yields:

12(1+sin2 #)(cos2#)-2( sin 9 cos 9) (sin 29)

°~~~2 (1 + sin2 9) (2.19)

which simplifies to:

2 sin2 9 cos2 9 - [(1 + sin2 9){l - 2 sin2 9)) = 0 (2.20)

Page 26: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 18

and finally:

3 sin2 0 - 1 = 0 (2.21)

The maximum value of 6 then, at least for a straight course, is sin Jk, which occurs

at t an r [newm77]:

- = 2~i ~ tanl9°28' x

A plot of (2.18) for — | < 9 < | is shown in Figure 2.7 (6 on abscissa; ^ on ordinate

axis).

1 1 1

- 3 5 . 2 7 , - t a n ! 9 .

1 L_ _ l

r- " 'i i i y / x

3 5 . 2 7 , t a n ! 9 . 4 6

46

i t i

Figure 2.7: Plot of *

Having justified the validity of the values assigned to CP and OC in Figure 2.5, it is

apparent that, replacing d for cAT one obtains:

QC

C P = \ cos (90- r )

f sin(90 - r)

Page 27: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 19

d(l)

4 V V 9 '

QP = QC + C P d 3

d f& 4 V 9

(2.22)

This result explains the vectors used by Goss [goss90] as mentioned in Chapter 1.3.

2.4 Estimating the Profile for a Circular Wave

The height of the free surface of a progressive wave can be approximated by a sinusoidal

function of the form:

z(x,t) = acos(kx — uit) (2.23)

Here a is the amplitude, k = y- the wave number (A representing its wavelength), and

u> = 2irf the angular frequency [crap84], [bald81]. The function oscillates between —a

and +a from trough to crest, returning to the same value after a time period T = 2JJ-.

However, the cosine wave approximation is not suitable for water waves with large am­

plitudes that have wide shallow troughs, and narrow steeper crests. Such a profile is

provided by Stokes's wave and resembles more closely gravity waves seen on an ocean

surface. The solution holds for periodic irrotational waves of finite amplitude in deep

water that are symmetric about their crests. Without providing any details regarding

the Fourier series from which the solution is approximated, the solution as provided by

Crapper [crap84] is as follows:

1 3 z(x, t) = a cos(</>) + -ka2 cos(20) + -k2a3 cos(30) +

2 8 (2.24)

Here <fi represents the phase of the oscillation as already seen in (2.23) and is denoted

Page 28: A Simple Model of Ship Wakes

Chapter 2. Mathematical Background 20

Figure 2.8: Surface profile of Stokes's wave compared to a sinusoidal wave.

by:

<j>-{kx-ut) (2.25)

The difference between Stokes's wave approximation to water wave forms and the sinu­

soidal wave are highlighted in Figure 2.8 (<f> on abscissa; z(x,t) on ordinate axis).

In the case of circular waves, the profile is applied on straight lines joining the origin

to all points on a circle of radius r, with the crests at r. The radius is based on the

current phase and the profile is computed along the range r — | to r -f | where A is the

wavelength of the wave. Figure 3.2 (a) indicates how this profile is applied to a circle

and Section 3.3.3 discusses the approach further.

Page 29: A Simple Model of Ship Wakes

Chapter 3

Graphical Model of Ship Wakes

When we mean to build, We first survey the plot, then draw the model; And when we see the figure of the house, then we must rate the cost of the erection; Which if we find outweighs ability, What do we then but draw anew the model In fewer offices, or at last desist To build at all?

-Shakespeare, Henry IV, Part 2

This chapter describes the graphical model used to implement ship wakes. The goal

is to produce a realistic-looking wake for a ship moving on an arbitrary course. After

introducing the model, a convenient way of specifying the path is presented. This is

followed by a description of the two techniques employed to generate circular waves and

their effect on the wake profile.

21

Page 30: A Simple Model of Ship Wakes

Chapter 3. Graphical Model of Ship Wakes 22

3.1 Introduction

In determining the stationary phase condition (2.5), Stoker computes the integrated effect

of all point impulses along the path. With rj(x, y) representing the surface elevation at

a point P(x, y), this is shown to be:

fT t3 gt2

r)(x,y) = k0 —sin—dt (3.1) Jo r4 4r

for a constant k0, at time t and at points a distance r from where the impulse was applied

at time t = 0 (Figure 2.1).

The model being presented here is based on the above approach: the model superimposes

circular waves emanating from points along the ship's path in an effort to determine the

wake profile. The expression within the integral (3.1), however, is simplified by assigning

a maximum value to the amplitude of a circle with r « 0 and reducing the amplitude

for each circle using a decay function as r increases with t.

3.2 Ship Path Specification

The ship's path is conveniently represented by a parametric piecewise cubic curve. While

B-splines are the traditional way to represent curves, for the purpose of the ship wake

model, a single Bezier curve segment suffices. In any case, they are both equivalent.

Unlike its B-spline counterparts, the Bezier has the advantage of having the outer control

points lie on the curve itself. This is useful in being able to manipulate initial and final

positions of the ship. Apart from specifying the path, a mechanism is needed to specify

equally spaced intervals along the path from where circular waves can then be generated.

This is accomplished by approximating the arc-length parameterization of the curve.

Page 31: A Simple Model of Ship Wakes

Chapter 3. Graphical Model of Ship Wakes 23

3.2.1 The Bezier curve

The Bezier is one of the family of cubic polynomial curves popular in graphics applica­

tions. A single cubic Bezier curve segment has four control points. The curve interpolates

the outer control points and approximates the remaining two.

The familiar representation of a curve segment for a cubic polynomial is the produc t

Q(t) = T • M • G. Here, T is a four-element row vector of the parameter t ranging from

degree 0 t o 3 , M i s a 4 x 4 matrix called a basis matrix and G is a four-element column

vector called the geometry vector [fole90]. The expanded product is shown below:

Q(t) = x{t) y(t) z{t) t3 t2 t 1

mn rn12 m^ mu

mn mn rnn m14

mn rn12 m i 3 mu

mn w-12 wii3 m i 4

The elements of the basis matrix are constant and in the case of the Bezier are:

' Gx '

G2

G3

.G* .

M =

- 1 3 - 3 1

3 - 6 3 0

- 3 3 0 0

1 0 0 0

(3.2)

(3.3)

The geometry vector is used to define geometric constraints on the curve. Changes in Gn

1 < n < 4 which are themselves vectors, change the shape of the curve. These vectors,

hence represent the control points, and users are allowed to manipulate them to adjust

the shape of the path. Q(t) is therefore simply an expression of three cubic polynomials

in t; as t is varied from 0 to 1, Q(t) defines the position on the curve.

Page 32: A Simple Model of Ship Wakes

Chapter 3. Graphical Model of Ship Wakes 24

3.2.2 Arc-length parameterization

Using the Bezier, a path for the ship can easily be defined. However, (3.1) specifies the

superposition of an infinite number of circles along the curve. Of course, the number

of circles used will be finite, but then a problem arises in attempting to generate circles

that are equally spaced. This is shown in Figure 3.1 (a). The figure shows a Bezier curve

with 30 segments drawn using regular parameterization, i.e. for t = 0, ^ , J j , . . . , 1.0.

Depending on the position of the control points (shown in filled circles), regular parame­

terization may not position equally spaced parameter values equal distances apart. The

solution is to incorporate arc-length parameterization which parameterizes based on the

length s of the curve.

Appendix A.1 illustrates an ad hoc, but simple technique for arc-length parameterization.

It should be noted that this approach is quite expensive and faster approximate methods

are available [wait95]. The technique involves determining s, the magnitude of the curve

and then finding the value of the regular parameter t for each of the n segments at a

distance ^ apart. This is accomplished by starting with to = 0 and incrementing t by a

very small value 8t (6t <C ^), till the magnitude s, 0 < i < n obtained for ti is greater

than the magnitude s±. At this juncture the value of U is linearly interpolated based on n

the values of Sj_i, Sj, and s%_.

The result of employing arc-length parameterization to the curve in Figure 3.1 (a) is

shown in Figure 3.1 (b).

3.3 Techniques Used to Generate Circular Waves

Given a position on the ship's path, a circle is generated with a particular amplitude

and radius that represents a circular wave emanating from that point. The circles are

Page 33: A Simple Model of Ship Wakes

Chapter 3. Graphical Model of Ship Wakes 25

M i©^rK

(a) (b)

Figure 3.1: Effect of arc-length parameterization on curve

drawn using two different methods; one uses a midpoint circle algorithm and the other

computes a profile for the circles using Stokes's wave.

3.3.1 Calculating radius and amplitude of the circles

Before determining the radius of the circles, it is necessary to point out how time fac­

tors into the model. The approach is simple: circles are generated equal time intervals

apart, regardless of parameterization. Since arc-length parameterization parameterizes

the curve based on distance, the effect is essentially to produce constant velocity along

the path. In the case of regular parameterization, distance along the curve is again in­

dicative of the velocity of the ship; depending on how the control vertices of the curve are

positioned, if the distance between consecutive equally spaced parameter values reduces,

the ship decelerates, if it increases, the ship accelerates.

Page 34: A Simple Model of Ship Wakes

Chapter 3. Graphical Model of Ship Wakes 26

The radius of each circle is increased subject to the constraint that it grows by one-third

the distance traveled by the boat. Therefore, regardless of the velocity of the vessel, as

long as it remains constant, a wedge angle of 19°28' is obtained.

The amplitude is related to the wavelength A used to compute the profile. According to

Crapper [crap84], one measure for amplitude, at least for linear solutions of progressive

waves in deep water, is:

ak < 2 (3.4)

where a represents the amplitude and k the wave number. The case for the non-linear

Stokes's Wave is not investigated here. For the purposes of this model the amplitude is

restricted to one seventh the wavelength which is consistent with (3.4) above and is the

theoretical limit for waves on the ocean [crap84].

Finally, the amplitude of the circles decays as a function of 4^ which is not entirely

arbitrary, but based on what Stoker considers the order of magnitude for wave amplitude

at the boundary of the disturbed region [stok57].

3.3.2 Midpoint circle scan-conversion algorithm

Pseudocode for the midpoint circle algorithm based on Bresenham's incremental circle

generator is provided in [fole90].

The algorithm is convenient to implement as it requires only a position for the center of

the circle, its radius, and a value to attribute to the pixels, or in this case amplitude to

assign to points on a grid that represents the water surface.

The center of the circle lies on the path and, for the case of the vessel traveling at

constant velocity, its position is obtained from s following arc-length parameterization

as discussed in Section 3.2.2. The wavelength and amplitude attributed to the circles is

Page 35: A Simple Model of Ship Wakes

Chapter 3. Graphical Model of Ship Wakes 27

as described in Section 3.3.1.

3.3.3 Computing a profile for circles

The midpoint circle scan-conversion algorithm gives rise to circles whose crests are only

one grid point thick. To obtain a closer semblance to a circular wave, an entire profile

for each individual circle is computed. To be able to do this efficiently one would hope to

compute the value of the amplitude for only those grid points that lie within the extent

of the profile. The extent is the wavelength A attributed to the profile and restricts

the amplitude computation to a region that is the difference of two rectangles as shown

in Figure 3.2 (a). All grid-points within this region can be sampled and assigned an

amplitude based on the profile of a sinusoidal wave or Stokes's wave. To ensure no points

in the profile are missed, for a circle of given radius r, the outer rectangle circumscribes a

circle with radius r + A, whereas the inner rectangle in inscribed within a circle of radius

r — A. Figure 3.2 (b) shows the region surrounding a single circular wave as determined

by the model.

Page 36: A Simple Model of Ship Wakes

Chapter 3. Graphical Model of Ship Wakes 28

Inner Clipping Rectangle

; ; ; : ; J, ~

.J..J.M..L.LA

1"! ! • 1-J4 ! ! ! !

-"i""""! : r~7r^v^ : : : :\ :

rrifrPfttrk \

\

\

.-.3.-4"

•tH" 4...L..4..

—!"—i—1"""i—:—*""

' Grid Points used Outer Clipping Rectangle f o r p ^ e Calculation

(a) (b)

Figure 3.2: Clipped region for circle profile calculation

Page 37: A Simple Model of Ship Wakes

Chapter 4

Results

Annual income twenty pounds, annual expenditure nineteen ninety six, result happiness. Annual income twenty pounds, annual expenditure twenty pounds ought and six, result misery. [Mr. Micawber]

-Charles Dickens, David Copperfield

This chapter shows and analyzes the results obtained from the graphical model described

in Chapter 3. Waves are generated for the ship moving along a path using the techniques

explained in Section 3.3. The surface is represented by a 64x64 size polygon mesh which

proves suitable for demonstrating the working model. A larger mesh would have the

benefit of reducing aliasing effects, while increasing the relative time to generate the

animation. Different sets of results are obtained by varying the path and number of

circles superposed to produce a wake. Unless otherwise indicated, 30 circles are employed

in generating the wake for each image. Where a profile is computed, Stokes's wave is

used. It has a wavelength that spans roughly four to five grid points and gives rise to

a smooth crest. For all cases, except those of Section 4.3 the path is parameterized

using arc-length, thus the results are for a vessel traveling at constant velocity. To show

how the model supports changes in velocity, images showing the effect of decreasing, or

29

Page 38: A Simple Model of Ship Wakes

Chapter 4- Results 30

increasing the velocity are included in Section 4.3.

4.1 Varying the Pa th

Figure 4.1 (a) shows results obtained for a straight course employing Bresenham's circle

drawing algorithm, Figure 4.1 (b) for the same course when a profile is computed for the

circles using Stokes's wave. Figure 4.1 (c) and (d) show filtered images of 4.1 (a) and

(b) respectively using a 3 x 3 Gaussian filter kernel.

Figure 4.2 (a) and (b) provide results for a curved path that does not self-intersect.

Figure 4.2 (c) and (d) filter the results obtained.

The constraints on the path are only those imposed by the Bezier curve itself and for

the purposes of demonstrating the model, these are insignificant. Figure 4.3 (a) and (b)

and (c) and (d) show another application of the two methods, this time for a path that

self-intersects.

In comparing the results for the two techniques, the visibility of the individual circles,

for Bresenham's algorithm is apparent. Since the circles in this case are but a grid point

thick, their interaction is limited. Filtering the data improves results dramatically by

applying a Gaussian function to smoothen the individual circles.

The boundary of the region is more noticeable when a profile is computed using Stokes's

wave. At the edges, there is negative displacement of the surface that accentuates the

profile for the superposed circular waves. The heightened perturbation throughout the

course results in a more convincing image of the wake. The filtering here also improves

the results obtained.

Page 39: A Simple Model of Ship Wakes

Chapter A. Results 31

(a) (b)

(c) (d)

Figure 4.1: Images obtained for a straight course before and after filterinc

Page 40: A Simple Model of Ship Wakes

Chapter A. Results 32

(a) (b)

(c) (d)

Figure 4.2: Images obtained for a curved path before and after filtering

Page 41: A Simple Model of Ship Wakes

Chapter A. Results 33

(a) (b)

(c) (d)

Figure 4.3: Images obtained for a self-intersecting path before and after filtering.

Page 42: A Simple Model of Ship Wakes

Chapter 4- Results 34

4.2 Changing the Number of Circles

The effects of varying the number of circles to produce a wake are shown in Figure 4.4.

Figures in the left column are the result of superposing 10 circles, those on the right

superpose 30 circles. The circles in (a) and (b) were generated using Bresenham's algo­

rithm, (c) and (d) using a sinusoidal profile, and finally (e) and (f) using Stokes's Wave

approximation.

Page 43: A Simple Model of Ship Wakes

Chapter 4- Results 35

(a) (b)

(c) (d)

(f)

Figure 4.4: Showing effect of number of circles on the wake

Page 44: A Simple Model of Ship Wakes

Chapter 4- Results 36

4.3 Effect of Acceleration and Deceleration on Wake

Produced

Figures 4.5 and 4.6 show the effects of manipulating the control vertices of the path

to visualize deceleration and acceleration respectively. Figure 4.5 shows a path whose

control points have been adjusted such that points on the path—separated by equal

time intervals—are a smaller distance apart than those at the beginning. The result is

deceleration and the effects are visible by comparing (a) and (b). (a) shows the same

path parameterized by arc-length; (b) using regular parameterization. Figure 4.5 (c) and

(d) allow the individual circles to be visualized for (c) and (d) respectively by replacing

the profile with a circle.

Just as for the case of deceleration, Figure 4.6 shows a path for which the control points

have been adjusted such that points on the path are a larger distances apart. A much

narrower wake is produced in (b) which is a result of superposing the circles in (d).

Page 45: A Simple Model of Ship Wakes

Chapter A. Results 37

(a) (b)

(c) (d)

Figure 4.5: Wake produced by a vessel that is decelerating

Page 46: A Simple Model of Ship Wakes

Chapter 4. Results

(a)

(c)

Figure 4.6: Wake produced a vessel that is accelerating

Page 47: A Simple Model of Ship Wakes

Chapter 5

Conclusion

Thou, too, sail on, O Ship of State! Sail on, O Union, strong and great! Humanity with all its fears, With all the hopes of future years, Is hanging breathless on thy fate!

-Henry Wadsworth Longfellow, 1807-1882

A simple model for ship wakes has been presented. By allowing an arbitrary path to be

specified a wake can be generated and displayed on a polygonal mesh. An animation

of the results has been produced in real-time on an IRIS Crimson supporting VGX

Graphics.

While currently not implemented, the height field obtained from the model would need to

be interfaced with a modeler such as the Advanced Visualizer from Wavefront Technolo­

gies, Inc. or Alias V. 3.1 System from Alias Research, Inc. This would allow animators

to produce a wake pattern for a given course traversed by a vessel without having to

model the wake explicitly.

The subject of integrating the model with others is also one that needs to be considered.

39

Page 48: A Simple Model of Ship Wakes

Chapter 5. Conclusion 40

Interesting results could be obtained by combining the the wake model with an ocean

wave model [four86]. A little more ambitious goal would be the integration of these

wakes with images of real waves. One could extract normal information from the shade

on the real picture and combine it with the geometry form the wake model presented

here to reshade the water surface accordingly.

5.1 Future Work

Some goals for this work have been outlined in Section 1.2. This thesis has addressed the

issues concerned with arbitrary path specification and concludes by returning to some

of the other criteria listed in Section 1.2 as they would pertain to the present model.

• Shape of the vessel

Keeping in mind that the model simplifies the ship to a point source one can

immediately see the need to consider a more complex shape. For starters one

could implement the source as a collection of point sources. The idea could be

extended further to produce the outline of an entire hull using point sources; each

of which would influence the wake depending on their normals to the direction of

motion of the ship.

• Depth of water

An additional parameter could be introduced that would affect the wavelength of

the circular waves depending on depth of water. For deep water moving at constant

velocity there would be no change in the model, however, for shallow water the

wavelengths would increase giving rise to refraction effects apparent at the shore.

• Speed of the vessel

While speed of the vessel does influences the wake produced by the model, the

Page 49: A Simple Model of Ship Wakes

Chapter 5. Conclusion 41

approach is not accurate. Waves of small amplitudes travel on the water surface

at speeds that can be approximated by:

c=\/fc (5-1]

where g is the acceleration due to gravity, and A the wavelength of the waves.

Ideally, one would generate circular waves whose wavelengths would be related to

the speed of the vessel, but then they would propagate as given by (5.1) above.

Page 50: A Simple Model of Ship Wakes

Appendix A

Algorithms

A.l Pseudocode for Arc-Length Parameterization

var segments: integer; precision: integer; {precision » segments} t_arr: array[0..segments-l] of real; {stores intervals of the regular

parameter} d_arr: array[0..segments-l] of real; {stores corresponding parameter

values for arc-length}

procedure Arc-Length-Parameterization(curve: Bezier); {Bezier represents a type that defines the matrices M and G representing a Bezier curve.

find_length(Bezier curve, float t) returns the length of the curve for values of the regular parameter ranging from 0 to t (1.0 is the maximum for t). To do this it divides the curve into t/precision segments and sums the distance between each of these segments.}

var magnitude: real; {length of curve} t: real; {current value of regular parameter}

42

Page 51: A Simple Model of Ship Wakes

Appendix A. Algorithms 43

s: real; {current value of arc-length parameter} s_incr, t_incr, prev, curr_t_incr: real; i: integer;

begin

magnitude := find_length(curve, 1.0); s_incr := magnitude/segments; t_incr := 1.0/precision; s := 0.0; t := t_incr; t_arr[0] := 0.0; d_arr[0] := 0.0; i := 1;

while(i < segments) do begin

s := s + s_incr; magnitude := find_length(curve, t); prev := magnitude; while(magnitude < s) do

begin

t := t + t_incr; prev := magnitude; magnitude := find_length(curve, t) ;

end if(magnitude=prev) then

begin

curr_t_incr := 0.0; end

else begin

{interpolate value of t_incr} curr_t_incr := (s-prev)/(magnitude-prev)*t_incr;

end t_arr[i] := (t-t_incr)+curr_t_incr; d_arr[i] := s; i := i + 1;

end t_arr[segments] := 1.0; d_arr[segments] := magnitude;

end

Page 52: A Simple Model of Ship Wakes

Bibliography

[bald81] G. R. Baldock. Mathematical Theory of Wave Motion. Ellis Horwood, Chich­ester, West Sussex, England, 1981.

[crap84] Gordon David Crapper. Introduction to Water Waves. Ellis Horwood, Chich­ester, West Sussex, England, 1984.

[fole90] James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes. Computer Graphics: Principles and Practice. Addison-Wesley Publishing Company, second edition, 1990.

[four86] A. Fournier and W.T. Reeves. "A Simple Model of Ocean Waves". Proceedings of SIGGRAPH '86, pp. 75-84, August 1986.

[gate94] W. F. Gates. "Interactive Flow Field Modeling for the Design and Control of Fluid Motion in Computer Animation". M.Sc. thesis, Department of Com­puter Science, University of British Columbia, January 1994.

[goss90] Michael E. Goss. "A Real Time Particle System for Display of Ship Wakes". IEEE Computer Graphics and Applications, Vol. 10, No. 5, pp. 30-35, May 1990.

[kass90] Michael Kass and Gavin Miller. "Rapid, Stable, Fluid Dynamics for Computer Graphics". Proceedings of SIGGRAPH '90, pp. 49-58, August 1990.

[kelv87] Sir William Thomson Kelvin. "On the Waves Produced by a Single Impulse in Water of any Depth, or in a Dispersive Medium". Proceedings of the Royal Society of London, Ser A, Vol. 42, pp. 80-85, 1887.

[kins65] Blair Kinsman. Wind Waves. Prentice-Hall, Englewood Cliffs, N. J., 1965.

[kost68] Aleksandr Aleksandrovich Kostyukov. Theory of Ship Waves and Wave Re­sistance. Effective Communications Inc., Iowa City, Iowa, 1968.

44

Page 53: A Simple Model of Ship Wakes

[mast87] G. A. Masten, P. A. Watterberg, and I. F. Mareda. "Fourier Synthesis of Ocean Scenes". IEEE Computer Graphics and Applications, Vol. 7, No. 3, pp. 317-324, February 1987.

[max81] N.L. Max. "Vectorized Procedural Models for Natural Terrain: Waves and Islands in the Sunset". Proceedings of SIGGRAPH '81, pp. 317-324, August 1981.

[mich69] F. C. Michelsen. "Three Recent Papers by Japanese Authors on the Effects of Bulbs on Wave-Making Resistance of Ships". Reprinted Under Contract With U.S. Department of Commerce Maritime Administration, Washington, D.C., 1969.

[newm77] John Nicholas Newman. Marine Hydrodynamics. The MIT Press, Cambridge, Massachusetts, 1977.

[nort82] A. Norton, A. P. Rockwood, and P. T. Skolmoski. "Clamping—A Method of Antialiasing Textured Surfaces by Bandwidth Limiting in Object Space". Proceedings of SIGGRAPH '82, pp. 1-8, July 1982.

[peac86] Darwyn R. Peachey. "Modeling Waves and Surf". Proceedings of SIGGRAPH '86, pp. 65-74, August 1986.

[perl85] K. Perlin. "An Image Synthesizer". Proceedings of SIGGRAPH '85, pp. 287-296, July 1985.

[prus93] Przemyslaw Prusinkiewicz, Mark S. Hammel, and Eric Mjolsness. "Animation of Plant Development". Proceedings of SIGGRAPH '93, pp. 351-360, August 1993.

[prus94] Przemyslaw Prusinkiewicz, Mark James, and Radomir Mech. "Synthetic Top­iary". Proceedings of SIGGRAPH '94, pp. 362-369, July 1994.

reev83] W. T. Reeves. "Particle Systems—A Technique for Modeling a Class of Fuzzy Objects". Proceedings of SIGGRAPH '83, pp. 359-376, July 1983.

scha80] B. Schachter. "Long Crested Wave Models". Computer Graphics and Image Processing, Vol. 12, pp. 187-201, 1980.

sher56] F. S. Sherman, editor. Symposium on Naval Hydrodynamics. National Academy of Sciences—National Research Council, Washington, D.C., Septem­ber 1956.

45

Page 54: A Simple Model of Ship Wakes

[shin92] Mikio Shinya and Alain Fournier. "Stochastic Motion — Motion Under the Influence of Wind". Computer Graphics Forum (EUROGRAPHICS '92 Pro­ceedings), Vol. 11, No. 3, pp. 119-128, September 1992.

[stok57] James Johnston Stoker. Introduction to Water Waves. Interscience Publishers Inc., New York, 1957.

[ts'o87] Pauline Y. Ts'o and Brian A. Barsky. "Modeling and Rendering Waves: Wave-tracing Using Beta-Splines and Reflective and Refractive Texture Mapping". ACM Transactions on Graphics, Vol. 6, No. 3, pp. 191-214, July 1987.

[walk88] Jearl Walker. "The Amateur Scientist: The Feathery Wake of a Moving Boat is a Complex Interference Pattern". Scientific American, Vol. 258, No. 2, pp. 124-127, February 1988.

[walt95] Marcelo Walter and Alain Fournier. "Computing Arc-Length Parametriza-tions", 1995.

[whit80] T. Whitted. "An Improved Illumination Model for Shaded Display". Comu-nications of The ACM, Vol. 23, No. 6, pp. 343-349, June 1980.

46