Вы находитесь на странице: 1из 61

Modelling the Human Ear

Joanna Davison Advanced Computer Science Supervisor - Steve Maddock


16th May 2003

This report is submitted in partial fulfilment of the requirement for the degree of MSc in Advanced Computer Science

Declaration
All sentences or passages quoted in this dissertation from other people's work have been specifically acknowledged by clear cross-referencing to author, work and page(s). Any illustrations which are not the work of the author of this dissertation have been used with the explicit permission of the originator and are specifically acknowledged. I understand that failure to do this amounts to plagiarism and will be considered grounds for failure in this dissertation and the degree examination as a whole.

Name:

Signature: Date:

Abstract
The ear is a very complex shaped object, a result of which is the problem of finding a computer graphics modelling technique suitable to effectively create a realistic ear model. Techniques applied so far consist mainly of manual methods, which generally dont cope well with the extensive overlapping of the ear and possess minimal scope for generating different ears from an initial model. The aim of this project is to solve this very problem with the use of sweeping and create not only a realistic ear, but also a model with the scope to easily produce wide ranges of different ears to represent the diversity of ear shape of the worlds population. A program has been developed that, to a certain extent, satisfies the above requirements. The level to which this has been achieved and potential improvements are discussed at length.

II

Acknowledgements
I would like to express thanks to my supervisor Dr. Steve Maddock, for his suggestions and guidance in the development of the project and my tutor Marian Gheorghe for his support. I would also like to thank Phil and my family for their love and support over the past four years, not to mention the use of their ears.

III

Contents
1. Introduction............................................................................................................... 1 2. Literary Review......................................................................................................... 2 2.1. The Ear................................................................................................................. 2 2.2. Modelling Techniques and Previous Attempts .................................................... 3 2.2.1. Manual Modelling and Editing ..................................................................... 3 2.2.2. Data Capture ................................................................................................. 5 2.3 Higher-level Description Techniques ................................................................... 6 2.2.1 Hard Primitives ........................................................................................... 6 2.2.2 Soft Primitives ............................................................................................... 7 2.2.3 Swept Primitives ............................................................................................ 7 2.2.4 Procedures and Primitives.............................................................................. 8 2.3.5 Suitability to Modelling the Ear..................................................................... 9 2.4. Sweeping within Nature..................................................................................... 10 2.4.1 The Regularity of Nature ............................................................................. 10 2.4.2 Shell-shape Surface Generation................................................................... 10 2.4.3 Summary ...................................................................................................... 12 2.5. Sweeping............................................................................................................ 12 2.5.1 A Review of the Technique and Extended Methods ................................... 12 2.5.2 Practical problems associated with sweeping .............................................. 13 3. Requirements and Analysis.................................................................................... 17 3.1 Aims and Objectives ........................................................................................... 17 3.2 Program Capabilities........................................................................................... 17 3.2.1 Ear Variation................................................................................................ 18 3.3 Sweeping the ear ................................................................................................. 19 3.3.1 Parameterisation of the Ear.......................................................................... 19 3.3.2 Sweeping Theory ......................................................................................... 20 3.3.3 Rendering the ear ......................................................................................... 23 3.3.4 Summary ...................................................................................................... 23 3.4 Evaluation of the Ear Model ............................................................................... 24 3.4.1 Realism of ears produced............................................................................. 24 3.4.2 Comparative Evaluation With Previous Attempts....................................... 24 3.4.3 Ear Reproduction Evaluation Method ......................................................... 25 3.4.4 Summary ...................................................................................................... 25 4. Design, Implementation and Testing..................................................................... 26 4.1 OpenGL............................................................................................................... 26 4.2 Program Overview .............................................................................................. 26 4.3 Generating the Ear .............................................................................................. 27 4.3.1 Surface Curve Sampling .............................................................................. 28 4.3.2 Cross Section Calculations .......................................................................... 29 4.3.3 Path Curve.................................................................................................... 35 4.3.4 Cross section curves..................................................................................... 36 4.3.5 Summary ...................................................................................................... 37 4.4 Evaluation ........................................................................................................... 38 5. Results and Discussion............................................................................................ 40 5.1 Evaluation Results .............................................................................................. 40 5.2 Completion of objectives .................................................................................... 42 IV

5.3 Considerations for Further Development............................................................ 43 5.4 Areas of Further Investigation ............................................................................ 44 5.5 Project Progress .................................................................................................. 44 6. Conclusions.............................................................................................................. 46 References.................................................................................................................... 48 Appendix A Ear Model Example............................................................................ 50 Appendix B Ear Variations..................................................................................... 51 Appendix C Evaluation Questionnaire .................................................................. 52

Figures
Figure 2.1(a): The major features of the ear (Image adapted from [http06]).............. 2 Figure 2.1(b): Depiction of cross-sectional shape of the upper helix ......................... 2 Figure 2.2 (a)&(b): Ear model from [http01] (Courtesy of Steven Tubbritt) ............. 4 Figure 2.2 (c)&(d): Ear model from [http04] (Courtesy of Jon McBain)................... 4 Figure 2.2 (e)&(f): Ear model from [http05] (Courtesy of Martin Andersen)............ 4 Figure 2.2 (g)&(h): Ear model from [http02] (Courtesy of Frank Silas TBC*) ......... 4 Figure 2.3: Ear shell by Genex using a data capture method...................................... 6 Figure 2.4: CSG tree [Watt00].................................................................................... 7 Figure 2.5: Candles representing soft primtives ........................................................ 7 Figure 2.6: Depth component generated using Extrusion........................................... 8 Figure 2.7: A wine glass as a solid of revolution........................................................ 8 Figure 2.8: Fractal object generated procedurally ...................................................... 8 Figure 2.9: Outlining the similarity between the shell opening and the concha....... 12 Figure 2.10: An example of the problem of the curve to polygon ratio .................. 13 Figure 2.11(a): Subdivision by equal intervals ......................................................... 13 Figure 2.11(b): Arc length parameterisation............................................................. 13 Figure 2.11(c): Non-uniform subdivision ................................................................. 13 Figure 3.1: The right ear of each member of a family unit....................................... 18 Figure 3.2: Pinna Measurements............................................................................... 19 Figure 3.3(a): Positional continuity .......................................................................... 21 Figure 3.3(b): Tangential continuity ......................................................................... 21 Figure 4.2(a): Triangle of skeleton points................................................................. 31 Figure 4.2(b): Extended points E .............................................................................. 31 Figure 4.2(c): Distances and points .......................................................................... 31 Figure 4.2(d): Translating M,E to S,F....................................................................... 31 Figure 4.4: Computing a reference frame from the previous frame ......................... 33 Figure 4.5: QUAD_STRIP formation....................................................................... 34 Figure 4.6: Vertex normal......................................................................................... 34 Figure 4.7(a): Path curve with too high curvature .................................................... 35 Figure 4.7(b): Crimping caused by cross-section self-intersection .......................... 35 Figure 4.7(c): Path curve with increased radius of curvature around the lobe ......... 35 Figure 4.8: Convex to concave cross-sections, left to right: A, B,C......................... 36 Figure 5.1: Results of Question 1 ............................................................................. 40 Figure 5.2: Results from Question 2 ......................................................................... 41 Figure 5.3: Results from Question3 .......................................................................... 42 V

Figure 5.4: A selection of mammal ears ................................................................... 44 * Permission for these two images was not officially confirmed due to an expired email address, but they were included anyway given their substantial relevance to this work

Tables
Table 3.1: Anthropometric Statistics, %=100(2/) ................................................ 19 Table 4.1: Class Responsibilities and relevant details of implementation................ 27

VI

1. Introduction

1. Introduction
There are many different techniques by which to create a computer graphics model. However, realistically capturing the complex shape and concavities of the human ear is one of the more complex objects to model and a technique capable of doing so does not immediately present itself. There have been three-dimensional models of the human ear created, the majority of which used manual techniques. The ears created have all been products of the designers artistic impression of an ear. Martin Andersen comments: Many people try modelling a human ear but fail in realism, because of its complex shape. The ear is [] known as one of the most complex parts to model in 3D. (http05) The aim of this project is to find a solution to this complex modelling problem. In doing so, the shape of the ear and its features are considered with particular attention to the concavities and overlapping created by the spiral-like form of the outline shape. Potentially suitable techniques are fully considered and an investigation is made in to the fascinating subject of regularity in Nature and natural objects that unearths properties of nature which would support the use of sweeping. The findings of these areas of investigation point towards sweeping as the most promising solution. The general concept behind sweeping is to define a three-dimensional object in terms of a two-dimensional cross section, the generator, and a three-dimensional spine curve. The three-dimensional object is generated by sweeping the cross-section along the path of the three-dimensional curve. An important factor that should be taken into consideration is the huge variance between individuals ears. A persons ear is in fact as unique as their fingerprint. The size and shape of a persons ear will change as they get older and the difference between peoples ears across race and gender are substantial. As such, it is near impossible to define a normal ear in terms of average size and shape. Thus, in creating a truly realistic ear, these dominating factors should be taken into consideration. By appropriately parameterising the path and cross-sections, the scope should be available to generate a range of different ears. These factors shall be applied to sweeping and the potential of sweeping as an ear modelling technique shall be deduced from the evaluation of ear models created with the use of sweeping. Chapter 2 presents a review of modelling techniques in general and attempts to date to create a realistic ear model. Sweeping is also covered in detail along with potential problems with using the technique. The factors of nature that indicate the use of a sweeping technique are also discussed. Chapter 3 looks at the issues associated with ear variation and addresses the process of sweeping the ear and the practical considerations involved. Evaluation techniques to assess the realism of the ear are also considered. Chapter 4 goes into specific detail of the theory and implementation methods used in the program to create the final ear model. The evaluative procedure is considered in greater depth. The findings of the evaluation process are considered in Chapter 5, where conclusion may be drawn with respect to the initial objectives. The project is concluded with Chapter 6.

2. Literary Review

2. Literary Review
This chapter begins by looking at the ear itself, and goes on to justify the use of sweeping to model it. In doing so, previous attempts to model the ear are discussed and evaluated, namely manual modelling and editing and a data capture technique, along with other potential constructive modelling techniques and aspects of Nature displaying qualities of sweeping theory. The last section of this chapter covers sweeping in detail and looks at the more practical aspects of the technique. 2.1. The Ear The ear tends to be a somewhat unremarkable aspect of human facial appearance. This is mainly due to the typically face-to-face nature of human interaction and the fact that they are often covered by hair (Bruce and Young, 1998). What is commonly referred to as the ear is in fact the pinna or earflap. Historically, the pinna is thought to have amplified sounds, but its actual job is a little more specific than this. The pinna helps to locate sound. Its ridges and clefts bounce a few sound waves into the ear later than the rest, in a pattern that depends on their source which the brain then decodes (McNeill 2000). Sound location is also aided by the fact that we have two ears. The physical separation of the ears helps localize sound sources through minute differences in the timing of signals arriving at each ear (Bruce and Young, 1998), creating a kind of auditory parallax.

Figure 2.1(a): The major features of the ear (Image adapted from [http06]) Figure 2.1(b): Depiction of cross-sectional shape of the upper helix The human ear has a unique although somewhat unnoticed form, the main parts of which can be seen in Figure 2.1(a). The outer rim is referred to as the helix, the name reflecting its resemblance to a coil or spiral. This rim curves in over the pinna like a breaking wave, as shown in the inset of Figure 2.1(b). Half way down the helix, a second ridge runs alongside it, the antihelix. The arrows in Figure 2.1(a) shows the extent of the antihelix. It swings up into a little into a little plane that splits into two and curves round in the upper part of the ear and swings down into the lobe. The lobe is soft and fatty in contrast to the rest of the ear, which is comprised of cartilage. The little nub of flesh beside the ear is called the tragus, the job of which is to protect the

2. Literary Review ear canal. The hollow near the ear canal is the concha, the name being derived from the Latin for shell(McNeill 2000). In the same way as an individuals fingerprints are unique, so are a each persons ear patterns, thus offering the potential by which to identify criminals. In 2001, a murder trial in the USA and three murder trials in the UK made headlines in newspapers and TV shows, because, in each, ear-prints had been used as evidence for the prosecution as stated in Marks Working Group, 2001. Features of the ear to bear in mind with respect to creating a three-dimensional model are the spiral nature of the flow of the ear and the concavities this creates especially at the top of the helix and around the antihelix and concha. Additionally, it should be noted that ear shape and size can vary vastly from person to person, so a complete ear model should be created with a view to easy reproduction of a variety of different ears (this issue is considered in greater depth in Chapter 3). 2.2. Modelling Techniques and Previous Attempts Previous examples of techniques used to model the human ear are relatively few and far between. This is probably largely due to the insignificance of the ear in modelling the human form. Most human heads are modelled with respect to a predominantly frontal view, concentrating on the mobile features of the face involved with speech and expression. Although some people are capable of wiggling their ears, it is rare to be able to move the ears independently of the head. Thus, the ears are not predominately involved in facial animation and given they are often covered by hair, not always visible anyway. As such, the ears are considered as a secondary object with respect to modelling and are often stuck on at a later stage if necessary. More recently there have been attempts to model the human ear as an entity in its own right. Most commonly, this is in conjunction with areas of research regarding hearing aids and inear headphones, for example, where the shape of the ear alone is of primary interest. One such company is Genex Technologies, (http03), who are introducing their modelling methods to the world of hearing aid development. Various potential modelling techniques are considered in this section. Where attempts to model the ear have been made using a particular technique, the success of the model is discussed. 2.2.1. Manual Modelling and Editing Manual modelling using a three-dimensional digitiser (or equivalent manual strategy) is one of the simplest ways in which to model an object. The designer indicates the position of polygon vertices by placing points on an object by hand. The threedimensional co-ordinates of these points are input to the system via a threedimensional digitiser and associated with the corresponding polygons. The suitability of the vertex positions on the modelled object is dependent on the experience and decision of the designer, as such, automated strategies for ensuring adequate representation are quite common. One of the more widely used strategies is to draw a grid over the surface of the object and ascertain the vertex positions from the intersections of the curved grid lines. Most attempts so far at modelling the ear are based around a manual modelling technique of some kind. The tinyworld website, (http01), presents a technique by Steven Tubbritt, that uses a picture of an ear with the main lines defined. Using a tool called MAYA, polygons are fitted to the picture as closely as possible to maintain the 3

2. Literary Review essential shape of the ear. Using a side view for reference at all times, the initially placed polygons are dragged into position, creating depth to achieve a threedimensional model. It is a time-consuming process of extruding edges and merging vertices to create a realistic model of the ear. The product of this particular example creates a moderately realistic looking ear. However, on closer inspection, where a real ear would overlap itself, such as the top of the helix, this ear model does not. Figures 2.2(a) and 2.2(b) shows the polygon framework of the model of the ear and the same ear after rendering with a shading algorithm, respectively.

(a)

(c)

(e)

(g)

(b)

(d)

(f)

(h)

Figure 2.2 (a)&(b): Ear model from [http01] (Courtesy of Steven Tubbritt) Figure 2.2 (c)&(d): Ear model from [http04] (Courtesy of Jon McBain) Figure 2.2 (e)&(f): Ear model from [http05] (Courtesy of Martin Andersen) Figure 2.2 (g)&(h): Ear model from [http02] (Courtesy of Frank Silas TBC*) The step-by-step modelling process presented by Jon McBain, (http04), again uses the MAYA tool to generate the model. A profile of the general ear shape is created and divided into four major areas using a split tool. Theses areas are moulded into an ear shape by splitting and pulling out vertices to define ridges and features, adding and deleting polygon edges as the process goes on. More vertices are used around the ear hole to better define it and a large polygon is added at the back of the ear to close it. Figures 2.2(c) and 2.2(d) show the product of this approach as a mesh and a rendered view. Again, this model incorporates little of the overlapping of a real ear. This modelling technique has a very simple but rough basis and is completely open to artistic impression since it is not generated from any specific ear image. Martin Andersen uses a similar approach to that described on the 3d-designer website 4

2. Literary Review (http05). Andersen actually provides a video of the creation of the ear, which may be downloaded and viewed. This considerably speeded-up recording of the continuous steps of the ear tutorial lasts 30mins, a good indication of the time cost involved in this type of approach to modelling the ear. However, in terms of realism and the attention paid to the overlapping of the ear, Andersens final product, shown as a mesh and shaded in Figures 2.2(e) and (f) respectively, is an improvement on the majority of examples encountered. Another slightly different manual modelling approach presented by Frank Silas, (http02), uses a tool called Animation Master (AM). A wire frame of the ear is created, composed of five continuous splines as shown in Figure 2.2(g). The square base spline is a duplicate of the one on the head to which the ear will be attached. The other four splines are created using a single spline and define a rough shape of the ear. They have been scaled and adjusted to position, decreasing in size at different depths to look like an ear shaped funnel. A skinning algorithm is used on the spline contours in pairs, converting the boundary data into large numbers of triangular polygons. As with previous attempts the final ear model is based on the impression of what the individual modeller perceives an ear to look like. This technique is easily implemented in AM, but the correctness of the shape of the initial splines is essential and a lot of fiddling may be required to achieve the correct end effect. Due to the technique itself, the issue of realistic overlapping is clearly not taken into consideration. Figure 2.2(h) shows this ear model after shading rendering, however the image quality is rather low and only the outline is discernable. The short falls of each attempt to model the ear using the manual methods detailed above are consistently reoccurring. The main areas of inadequacies are the lack of realism especially regarding the extensive overlapping of a real life ear; the lack of scope for developing ears of varying shape through re-factoring of the initial model produced; excessive time cost due to the fiddly ad-hoc methods employed. 2.2.2. Data Capture Another quite accurate modelling method for producing polygon meshes is the use of an automated device such as a laser ranger. An example of data capture using a laser ranger is the rotation of the laser 360 degrees around the object in question (or viceversa). The laser ranger returns a set of parallel contours outlining the shape of the object which are then skinned in the same way as the manual generated splines described above [http02]. Automated methods are typically suited to inert objects since the process requires the object being modelled to stay in exactly the same position throughout the data capture process. Modelling of objects such as the head often contain noise in the model produced due to minute unintentional movements during the data capture stage. An additional significant drawback is the inability of laser rangers to model concave objects. Due to the implementation of the method as described, the incident beam will not necessarily hit certain surfaces of an object with concavities. Both these issues, in particular the latter, imply that the automatic device is not suited to accurate modelling of the human ear. Despite the drawbacks, attempts have been made to apply automated processes to modelling aspects of the ear; one such example is Genex Technologies (http03). Genex Technologies are an electrooptical company focused on developing stateoftheart electronic imaging technologies. One of their recent developments is a revolutionary system that avoids the problems presented by the drawbacks of the 5

2. Literary Review automated process with respect to modelling the ear. The problem of noise, created by movement, is solved using Genexs revolutionary Ear Impression 3D Digitizer with their Rainbow 3D camera to create a 360degree model. The technology to combat noise from automated models is clearly available with respect to the ear. However, Genex does not overcome the limitations of modelling concave objects. Their system only produces an impression of the ear, that is, an accurate model of the underside of the ear. Figure 2.3 shows the ear shell created by this model, the angle is as if viewed from a position inside the head. Genex is currently working on creating an intraoral 3D-capture tool to solve the problem of capturing data directly from inside the ear. However, this is still at a research level. Within the boundaries of current technology, automated systems are not suitable to model the concave shape of the human ear, accurately or otherwise.

Figure 2.3: Ear shell by Genex using a data capture method 2.3 Higher-level Description Techniques The drawbacks of the methods discussed above lead to the investigation of the suitability of higher-level techniques in modelling the ear. It should be noted that this discussion is not intended to be complete in its coverage of techniques. The techniques selected have been chosen to display a broad view of modelling while maintaining relevance to modelling the ear. The structure of this discussion is based around that of work by Maddock, 1999. In considering modelling techniques, categorisation can be made as to whether a technique is one of refinement or construction. The constructive approach is concerned with combining primitives to produce a whole model, while a refinement approach takes a whole model and refines it to create another whole model. It should be noted that the whole model products of both these types of method could themselves be primitives. Creating a model of the human ear is essentially concerned with constructive modelling approaches. Thus, in discussing the relevant modelling techniques, hard primitives, soft primitives, swept primitives and procedural primitives will be covered. It should be noted that overlapping occurs between these primitives since the first three types of primitives can be parameterised and treated as procedural primitives themselves (Maddock, 1999). 2.2.1 Hard Primitives Constructive Solid Geometry (CSG) is the classic approach to modelling solid objects, combining simple elementary geometric solid objects or hard primitives. Traditional examples of these 'hard' primitives (Maddock, 1999), are sphere, cylinder, cone, torus and rectangular solids. These solids are combined using linear transformations and 6

2. Literary Review Boolean set operators, namely union, difference and intersection. The resulting model of an object is stored as a tree representing the object's modelling history, in which the leaves are the primitives and the nodes are the linear transforms or operators (Figure 2.4 shows a CSG tree).

blend of candles heat profile

combined global scalar field

Figure 2.4: CSG tree [Watt00] Figure 2.5: Candles representing soft primtives 2.2.2 Soft Primitives A modelling technique applicable to more organic objects is a form of implicit surface, which creates soft or blobby objects. Implicitly defined components, most commonly spheres, are used as primitives. These primitives are combined by summing the field effects of the equations defining the primitives. In other words, the surface is formed by the effect of the primitives exerting a field of influence over a local neighbourhood. The area of influence of a spherical primitive would clearly be a sphere where a potential function gives a scalar value for any point, P, within the sphere (Maddock, 1999). The equation below is an example of a potential function: r2 f ( P ) = s 1 2 for rR R where s=1 (usually), r is the distance of point, P, to the centre of the primitive and R is the radius of influence of a primitive. At a particular value of r, a scalar field f(P), is produced from the combined effect of each primitives potential function. One of the simplest methods of combination is addition, where for a point, P, each contributing potential function is evaluated and summed. The result is an object representation in the form of an implicit surface. A naturally occurring phenomena that mirrors this field of influence combination technique is the blending of heat profiles of multiple heat sources. Figure 2.5 shows this with two candles representing point-based field generators. It should be noted that field functions can be coded such that they have a positive or negative effect on the resulting surface i.e. whether they should be summed or subtracted respectively. 2.2.3 Swept Primitives The general concept behind swept primitives is to define a three-dimensional object in terms of a two-dimensional cross section, the generator, and a three-dimensional spine curve. The three-dimensional object is generated by sweeping the cross-section along the path of the three-dimensional curve. The simplest example of this technique, referred to as extrusion, is to sweep a cross-section along a straight line creating a depth component. An example of this is shown in Figure 2.6, where the cross section 7
2

2. Literary Review used is the letter F swept straight backwards to create a three-dimensional font. A simple example of three-dimensional shape generation is a torus, where both the crosssection and the curve are circles. A special case of sweeping is applicable to surfaces or solids of revolution. In these cases, a curve is swept around a central axis of revolution to produce a three-dimensional object such as the wine glass in Figure 2.7. A more complex extension of the sweeping technique is lofting which involves using multiple cross-sections or contours. The cross-sections can be varied by a scaling profile curve or a finite set of cross-sections can be interpolated. Alternatively, a combination of these two methods can be used (Maddock, 1999). Work by Snyder in 1992, looks at sweeps and how to construct an object from a set of procedurally defined sweeps. Qualities of the CSG process are evident in Snyders ideas; a shape description language is used to combine (swept) primitives to create higher-level shapes that can themselves become shape-building operators.

Figure 2.6

Figure 2.7

Figure 2.8

Figure 2.6: Depth component generated using Extrusion Figure 2.7: A wine glass as a solid of revolution Figure 2.8: Fractal object generated procedurally 2.2.4 Procedures and Primitives Any parameterised modelling technique is essentially procedural. Here we split our discussion of procedural techniques into procedural models and procedural organisation. Procedural models are a form of constructive modelling technique. Objects are composed of parts, and the parameters identified, such as relationships between the parts, can be defined to alter the object composition (Maddock, 1999). Both CSG and Snyders shape processes (1992), are both techniques that produce objects composed of parts and thus are included in this category. Procedural organisation is a way of structuring a collection of simple primitives, often by employing a shape grammar. Much of the work in this area centres on describing the structure of plants examples of which can be found in Foleys book (1990). Symmetry relationships can be parameterised as well as the primitives such that the shape grammar organises a pattern of primitives into an object (Maddock, 1999). One idea is the parameterisation of some surface attribute to create variations on a model. Fractals employ a self-similarity attribute of objects to procedurally generate objects of this type. The roots of this particular method lie in fractal geometry, a term used to describe an attribute, exhibited by certain natural phenomena such as coastlines, of statistical self-similarity. Fractal techniques are most commonly used to generate terrain models using, at the simplest level, recursive subdivision algorithms to divide 8

2. Literary Review the objects facets into a large number of smaller facets. A simple example of this is uniform triangular subdivision generating a displacement in a direction normal to the plane of the original facet (see Figure 2.8). Fractal object generation can be extended beyond this simple example to the creation of quite complex objects. 2.3.5 Suitability to Modelling the Ear The modelling techniques described above can all be considered effective in modelling certain types of objects. However, in this summary section the suitability of these methods to model the shape of human ear will be discussed. As noted in previous sections aspects of the ear shape to note are the complexity of the shape, the spiral type flow of the ear curves causing considerable overlapping in the general shape of the ear and the more local overlapping of the helix and antihelix. CSG with hard primitives is a technique that can be very effective in modelling certain objects such as machinery parts built up in CAD as commented on by Watt, 2000, and objects modelled with a view to future editing which is easily facilitated by the CSG tree structure (Foley 1990). CSG is perfectly suited to the application of creating machine parts (Maddock, 1999), however, it is not a technique well suited to modelling biological objects like the ear. Due to the complexity of the ear shape, it would be almost impossible to represent it using the primitives available. However, the ideas and technique of CSG may have a value in constructing an ear shape object by combining more complex primitives created using other types of modelling technique. This approach to CSG is considered in Snyders work on generative modelling in 1992. Soft Primitives clearly lend themselves to modelling more natural, organic objects. Although this technique has not been applied to the ear before, it could potentially produce a reasonably realistic model of the ear. However, given the complexity of the ear shape and the non-blobby smooth curves of the helix, the number of primitives required for a realistic ear could be quite substantial. Additionally, the primitives used would have to be both positive (added) and negative (subtracted) to cope with the overlapping of the ear shape, and whether typically spherical primitives could cope with this substantial overlapping is uncertain. Another aspect to note is the lack of scope for re-factoring the ear produced, to generate, with relative ease and low cost, differently shaped ears. Taking all these factors into consideration, soft primitives show the most potential for modelling the ear so far, but are far from an ideal solution. In contrast to the techniques discussed above, any potential drawbacks of using sweeping to model the ear are not immediately obvious. With the correct choice of cross-section at the top of the helix and along the antihelix, the extensive overlapping involved in the ear shape could be incorporated. The spiral shape of the flow of curvature of the ear could be accommodated for by using a sweep path curve that mirrored this shape. The available extensions of the simple sweeping technique, involving both a scaling profile curve combined with different specified interpolated cross-sections, is potentially capable of coping with the complexities of the ear shape. Additionally, the use of a sweeping technique provides a reasonable scope for producing families of different ears via relatively low labour-cost alterations to the initial sweep curves and cross-sections. Where procedural models are concerned, their potential for modelling the ear clearly is directly dependant on what type of parts comprises the object. As previously 9

2. Literary Review discussed, CSG is not s suitable approach, but Snyders method [Snyd92] where the parts are predominantly swept objects, could potentially provide an appropriate technique by which to create an ear, providing the parts used were appropriately realistic themselves. With respect to procedural organisation, the complex ear-shape lacks the self-similarity and iterative shape development required to break the shape down into a simple grammar. As a direct result of these factors, procedural organisation cannot be applied in describing the ear. In comparison to the other techniques considered, sweeping shows potential for producing a realistic model of the human ear. The nature of the technique lends itself to modelling of the overlapping cavities of the ear, the main area of the ear-shape other techniques struggle to thoroughly accommodate. Further investigation into whether sweeping is a suitable modelling technique leads us to consider sweeping as an effective technique for modelling naturally occurring organic objects. 2.4. Sweeping within Nature The aim of this section is to look at the scope of sweeping for modelling naturally occurring objects. In doing so, the regularities of natural objects are considered, as well as taking a detailed look at the area of shell shapes and surface structure. 2.4.1 The Regularity of Nature Sweeping can be effectively applied to a very wide range of man-made objects. This is largely due to the high degree of regularity found in most man made objects with many of these objects displaying symmetry especially around a central axis. If an object is not symmetrical overall, it is generally comprised of balanced sub-assemblies. The concept of regularity, especially symmetry, is one strongly promoted by sweeping. A good example of symmetry in man-made objects can be found in objects created using technique called woodturning. This craft involves a piece of wood being spun quickly around its length while a lathe is used to carve groves into the surface of the wood around its circumference, producing an object symmetrical about a central axis e.g. a wood-turned table-leg, which clearly lends itself to being modelled using sweeping. Looking around, it is clear that not only man-made objects possess an element of regularity. Living, natural objects commonly display cylindrical regularity either as a whole or as a composition of cylindrical parts. Some simple examples include the stem of a flower and our own limbs, fingers and toes. Marriott (1992), models a holly leaf using sweeping, which, given the roughly cylindrical nature of the branches could easily be extended to a model of a holly bush. In his work, Wainwright (1988), argues that the bodies of multi-cellular plants and animals are cylindrical in shape. He hypothesises that this form evolved from the structural and aero-dynamical advantages of cylinders. Thompson (1961), takes a slightly broader view, arguing that the majority of aspects of natural growth and form are governed by underlying mathematical theory and structure. A more detailed area of his work, namely shell-shape, is discussed in the next section. 2.4.2 Shell-shape Surface Generation Chapter XI of Thompsons work in 1961, looks at logarithmic spirals in which he argues that the essence of shell-shape is captured by the logarithmic spiral. Measurements of a wide variety of shell types are presented to show their shape 10

2. Literary Review conformity. He goes on to describe a method by which to generate the surface of shell as described in the passage below. (This particular passage is taken from Przemyslaw and Fowler (1998), in which Thompsons observations are quoted in a slightly edited form.) The surface of any shell may be generated by the revolution about a fixed axis of a closed curve, which, remaining always geometrically similar to itself, increases its dimensions continually. [] Let us imagine some point within this closed curve, such as its centre of gravity. Starting from a fixed origin, this characteristic point describes an equiangular spiral in space about a fixed axis (namely the axis of the shell), with or without a simultaneous movement of translation along the axis. The scale of the figure increase in geometrical progression while the angle of rotation increases in arithmetical, and the centre of similitude remains fixed. [] The form of the generating curve is seldom open to easy mathematical expressions. Thompsons ideas clearly display the underlying ideas of the sweeping technique using a similar scaled cross-section. A more recent study of shell shape can be found in Meinhardts work, which looks at biological pattern formation in shell patterning (Meinhardt, 1998), as well as the three-dimensional structure of the shell itself (Przemyslaw and Fowler, 1998). In Meinhardts book, a sweeping technique for modelling the surface of a shell is presented by Przemyslaw and Fowler. The underlying ideas of which were based Thompsons observations. The surface of the shell is defined by sweeping a generating curve, C, along a helico-spiral, H. The size of C increases as it revolves around the shell axis. The generating curves, C, are constructed from one or more Bezier curve segments, which determine the shell profile and opening. The opening of the shell is oriented using Frenet frames, which are covered in the next section. The sweeping methods applied to generating the shell surface are of considerable interest with respect to modelling the ear due to the rough shape similarity between them. The general spiral form of the shell displays two properties already noted as attributes of the ear-shape. Namely, the spiral flow of the ear curves down toward the ear-hole and the extensive overlapping of the general ear-shape due to the spiral nature of its form. Przemyslaw gives examples of five very different variations in shell shape created using the same cross-section and altering only two parameter values characterising the helico-spiral sweep path. This shell-shape variety is extended even further by using different cross-section curves. Given the similarities between shells and ears, the possibility of creating realistic ears using cross-sections swept around spiral-like curves would seem to hold a lot of potential. The vast scope for generating different shell families also supports the idea that sweeping would enable generation of different ears by varying the sweep parameters defining the sweep path and/or the cross-sections used.

11

2. Literary Review

Figure 2.9: Outlining the similarity between the shell opening and the concha As a side point, it is interesting to note that the name for the main concavity of the ear, the concha, is derived from the Latin word for shell (McNeill, 2000). This is due to the resemblance of the concha to the opening of a shell. Figure 2.9 tries to capture this resemblance outlining the similarity in shape with dotted lines. Unfortunately, the opening of a shell only represents the shape of the cross-section used in the sweeping method. Thus, this resemblance between ear-shape and shell-shape does not indicate a direct relationship between sweeping the ear-shape and sweeping the surface of a shell. 2.4.3 Summary This section has covered theories concerning the common cylindrical form of naturally occurring objects and the more detailed work concerning shells to which ears may be naturally linked. Both these areas of discussion have strengthened the case in favour of using sweeping to create a potentially realistic model of the ear. 2.5. Sweeping This section looks at the sweeping technique in greater depth, considering some of the more practical issues associated with using this technique. We begin with a review of the basics of sweeping as discussed briefly in Section 2.2.3. 2.5.1 A Review of the Technique and Extended Methods The general concept behind swept primitives is to define a three-dimensional object in terms of a two-dimensional cross section, the generator, and a three-dimensional spine curve. The three-dimensional object is generated by sweeping the cross-section along the path of the three-dimensional curve. The simplest example of this technique, referred to as extrusion, is to sweep a cross-section along a straight line creating a depth component. Cross-sections can also be swept along curves to create objects such as the simple torus, where a circular cross-section is swept around another circle. A special case of sweeping is applicable to surfaces or solids of revolution. In these cases, a curve is swept around a central axis of revolution to produce a threedimensional object such as a wine glass.

12

2. Literary Review A more complex extension of the sweeping technique is lofting which involves using multiple cross-sections or contours. The technique was used extensively in the shipbuilding industry to define the shape of the ships main body. Ducted solids, generalised cylinders or tubular surfaces are terms commonly used to refer to objects created by allowing the cross-section to vary along the length of the sweep curve. The cross-sections can be varied by a scaling profile curve or a finite set of different crosssections can be interpolated. Alternatively, a combination of these two methods can be used. Snyder (1992) presents a technique that uses a shape description language to combine (swept) primitives to create higher-level shapes that can themselves become shape-building operators. 2.5.2 Practical problems associated with sweeping There are certain issues that immediately arise when crosssectional sweeping is used to model objects. There are three main difficulties associated with curved spines (Watt, 2000), which will be considered individually as follows. Curve to Polygon Procedure The first problem is controlling the size of the polygons, an example of which is given in Figure 2.10. In this example, the size of the polygon primitives depends on the path of the curve. Consider the parametric position of the curve, u, in equation (1) above. Dividing u into equal intervals does not always give the best results or cause the points to appear at equal intervals along the curve. The latter is due to the uniform increase of u in a straight line as opposed to along the path of the curve. Arc length parameterisation is a procedure that does divide the curve into equal intervals. However, this procedure is not straightforward, nor is it consistently appropriate depending on the curvature of the curve. Figure 2.11(a) and 2.11(b) show division of a curve using equal intervals and arc length parameterisation respectively.

a Figure 2.10 Figure 2.11(a)

b 2.11(b)

c 2.11(c)

Figure 2.10: An example of the problem of the curve to polygon ratio Figure 2.11(a): Subdivision by equal intervals Figure 2.11(b): Arc length parameterisation Figure 2.11(c): Non-uniform subdivision Ideally the curve would be divided into intervals depending on the curvature of the curve as areas of high curvature require an increased rate of polygon generation.. This can be achieved using a curve subdivision algorithm in which the curve is subdivided until a linearity test is positive, i.e. the interval in question meets a flatness criterion. Uniform subdivision is the simplest case where a user specifies a level at which 13

2. Literary Review subdivision of the curve terminates. Non-uniform subdivision means that subdivision terminates when a curve interval meets a flatness criterion (Figure 2.11(c)). In other words, the degree of subdivision is allocated according to curvature, so areas of high local curvature are subject to more subdivision, as required. This second category of subdivision is preferable but does incur extra computational cost due to the flatness testing. Cross-section Orientation The second practical issue of cross-sectional sweeping is the orientation of the crosssection with respect to a varying spine curve. In constructing ducted solids and generalised cylinders, the object structure must be prevented from twisting, by correctly aligning each cross-section with its neighbours. Cross-sectional alignment is achieved by the use of reference frames that define position and orientation of a crosssection along the central axis of the cylinder. One of the more intuitive reference frames is the Frenet frame, discussed in considerable detail by Bloomenthal (1990), the main points of which are presented below. A reference frame consists of three mutually orthogonal vectors. At each set of sample points along the curve, the respective cross-section is embedded into the coordinate system formed by these vectors. A Frenet frame is defined on the spine curve by the sample point, P, and three orthogonal vectors, between them defining position and orientation. Those vectors are the tangent vector, T, the principal normal, N, and the binormal, B. Figure 2.12 shows these vectors derived at a point, P, on the sweep curve, Q(u). The tangent vector, T, also referred to as the unit length velocity vector, is derived from the velocity vector or derivative of the curve: T = V / |V| (2.1)

where, V = d/du(Q(u)) = 3au2 + 2bu + c The normal vector, N, is often defined to be in the direction of curvature of the curve. N is indirectly derived from the acceleration vector or second derivative of the curve, A. N = K / |K| (2.2)

where, K = V x A x V / |V|4 where, A = d/du(V) = 6au + 2b The binormal vector, B, is the crossproduct of the tangent vector and the principal normal. B=TxN (2.3)

14

2. Literary Review

Figure 2.12: Vectors B, N, T, and point, P, defining a Frenet frame One of the main advantages of the Frenet frame is that it can be computed at arbitrary points along the curve (Bloomenthal, 1990). The main drawback of the method is that the Frenet frame is undefined where the curve is degenerate, i.e. at points of inflection and along straight sections of the curve. Either side of an inflection point the curvature vector can suddenly reverse direction causing a violent twist in the progression of Frenet frames (Watt 2000). A term used to describe the basis of this problem is torsion, meaning rotation around the tangent to a curve (Bloomenthal, 1990). Bloomenthal describes a torsion minimizing solution by Shani and Ballard. The solution is iterative using rotation minimizing frames. The basis of this solution is that an initial reference frame is defined at the beginning of the curve. This initial reference frame is then propagated along the curve using small local rotations. The advantage of this method is the immunity of the reference frame to degenerative sections of the curve. However, the result produced is not necessarily intuitive and due to the implementation of the method, analytical computation of an arbitrary reference frame is not permitted. A similarly based solution is that devised by Ken Sloan (http07), which uses the orthogonal propertied of the reference frame to propagate the vectors using cross-product computation. Self-intersection of Cross-sections The third practical issue of the sweeping technique is the problem of cross-sections self-intersecting or crimping as it is sometimes referred to (Figure 2.13). Crimping occurs in areas where the radius of curvature of the path of any points traced out by the cross-sectional curve exceeds the radius of curvature of the sweep path (Watt, 2000). Put another way, the curvature of the main sweep path cannot support the size of the cross-sections at that point, creating a kink in the final object at the point of occurrence. A solution to this problem is presented by Roche (1989), who notes that crimping corresponds to the intersection of two cross-sections. He suggests that in areas where crimping occurs, it can be removed by adjusting the radius of curvature to make it larger.

15

2. Literary Review

Figure 2.13: Crimping caused by curve self-intersection

16

3. Requirements and Analysis

3. Requirements and Analysis


This chapter presents an overview of the main objectives and the approaches available to achieve them, before giving details about the implementation and mathematical theory involved in generating an object using sweeping. The main aims with respect to developing the ear are briefly presented, followed by a more detailed account of the programs capabilities. The techniques to be used in generating the ear are considered along with available solutions to potential problems with generating swept surfaces, and proposed parameterisation of the ear. Finally, as an important part of any experimental project, the proposed method of evaluation is discussed. 3.1 Aims and Objectives The central objective of this project is to investigate whether sweeping is a suitable technique by which to model the complex shape of the human ear. In doing so, a program which be produced which will aim to do just that. Some of the main considerations in developing the ear are detailed as follows. As briefly discussed in Chapter 2, there are two main areas for consideration in generating the ear model, in which previous attempts have been lacking. The first concerns ear shape, where capturing the extensive overlapping involved in the curves of the ear, has not been completely effectively achieved. Secondly, given the huge variation in peoples ears throughout the human race, the scope for generating a wide variety of ears with relative ease would be preferable. This is again an attribute not possessed by techniques previously used to generate the ear. With the use of sweeping, and effective parameterisation, these are both issues that it is hoped can be solved, and as such, are both central requirements of the generated model. The nature of the sweeping technique, involves approximations in areas of its implementation, such as interpolating between cross-sections. As such, attaining a high degree of accuracy in terms of anthropometrical proportions and measurements is unrealistic. The ear model produced will still be required to possess a certain degree of accuracy, but this can be more visually oriented, rather than by exact measurement. This concurs with previous examples of ear models discussed in Section 2.2.1, which were based on creating a realistic impression of an ear, rather than a dimensionally accurate representation. Applications of a model of a human ear could be seen to lie in two main areas; aiding the manufacturing of hearing aids or other acoustic devices such as in-ear headphones and within the computer graphics fields of human facial modelling and animation. Given the accuracy to which the ear will be produced, the latter is the most appropriate application. 3.2 Program Capabilities The primary requirement of the program is that it will be able to generate a model of an ear that will be visually evaluated, as realistically resembling a human ear. It will generate the ear as a swept surface, the details of which are covered in the next section. A secondary requirement of the program is that it has the scope to generate multiple ear variations based on the same framework by altering parameter values only. The details of this feature are discussed below.

17

3. Requirements and Analysis 3.2.1 Ear Variation In looking at the ears of even just a handful of people, it becomes clear that the variation in individuals ears in enormous. As with other features of the body, ear shape and size can be inherited, for example, a well-known inherited trait is the attachment of the lowest point of the ear lobe to the face (referred to as being lobeless). As a result of inheritance, family members are more likely to show similarities between their ears than unrelated people. However, Figure 3.1 demonstrates that even between family members, the amount of variation in ear shape and size is considerable. It is commonly known that ear size varies with age and between sexes and ear-shape is often varied across different races as well. For example, the length of the ear increases with age.

Figure 3.1: The right ear of each member of a family unit Given the huge range of ear measurements possible, a very useful feature of the program, would be to have a predefined set of default parameter values which generate a typical ear according to higher level parameters of age race and sex. However, anthropometric measurements of ears are quite limited and hard to find especially in relation to a persons age, gender or race. Three main sources of measurement data were found ((Algazi et al, 2001),(Differient et al, 1981),(Tilley et al, 1993)). The second two of these were aimed at design and engineering applications and although the measurements were presented as averages for certain age groups and specified race, the data given was measurements of ear length only. The most substantial survey of ear size available is from a study in connection with Head-related Transfer Functions (HRTFs). HRTFs capture the sound localization cues created by the scattering of incident sound waves by the body and are defined by head, shoulder and ear shape (Algazi et al, 2001), thus anthropometric measurements of these features have been recorded. Algazi et al. (2001) present measurements for ten different aspects of the pinna (external ear), as shown in Figure 3.2 Due to the area of application in which the measurements are taken, the choice of anthropometry is relevant to the understanding or estimation of HRTFs. Thus, for example, no measurements are made of the lobe area of the ear since this bears no influence over sound localisation. The data for each of the ten pinna measurements was obtained from 43 subjects (27 men and 16 women) from the CIPIC Interface Laboratory, California, where the studies were being conducted. The results of the measurements (in cm) are listed in Table 3.1.

18

3. Requirements and Analysis Var Measurement cavum concha d1 d2 d3 d4 d5 d6 d7 Figure 3.2: Pinna Measurements d8 1 2
height cymba concha height cavum concha width fossa height pinna height pinna width intertragal incisure width cavum concha depth pinna rotation angle pinna flare angle

1.91 0.68 1.58 1.51 6.41 2.92 0.53 1.02 24.01 28.53

0.18 0.12 0.28 0.33 0.51 0.27 0.14 0.16 6.59 6.70

%
19 35 35 44 16 18 51 32 55 47

Table 3.1: Anthropometric Statistics, %=100(2/) Given the data is not presented according to the type of person (age, race, gender) measured, the only value of this data in terms of modelling the ear, is in ascertaining conceivable ear measurements i.e. what dimension values comprise a normal ear, rather than defining a higher level of control. Due to the lack of data available, defining a higher level of control is not a feasible option, i.e. it will not be possible to enable the program to automatically generate ear variations according to age, race and sex input parameters, and a lower level of control must be used. Different ears will be created by manually altering more specific parameters, such that visually pleasing ears are generated. Parameters are discussed in more detail in Section 3.3.1.. 3.3 Sweeping the ear The ear will be treated as a generalised cylinder. The cross-sections will be varied along the sweep curve using interpolation. This section sets out the parameterisation of the ear, and theory of the sweeping process intended to model it. Any additional information about most of the techniques discussed here can be found in Chapter 3 of Watts book, 3D Computer Graphics (2000). 3.3.1 Parameterisation of the Ear The ear will be parameterised by a path curve defining the outline shape of the ear and the cross sectional curves and their position along the path curve, defining local ear shape at that point and the surrounding local area. The parameters will be the control point coordinates for the path curve, and for the cross sections, the control point coordinates and the position along the path curves at which they will be placed. This position will be represented as an integer indicating the path curve segment and a floating-point value between 0 and 1 indicating the parametric position along the segment in question. This approach will result in there being a large number of specific parameters, which is not a particularly useable or efficient parameterisation. However, for the purpose of

19

3. Requirements and Analysis this investigation, it is appropriate, and provides the level of detail and flexibility in defining the ear, that is required to generate the desired result. An ideal method of parameter input are a Bezier Curve Editor. This would entail default initial ear curves being generated and displayed on the screen, then by selecting the relevant cross section or path curve their shape or position could be edited. Guidelines would indicate the bounds of the curve of a normal ear for the path and each cross section when they were selected. Once editing was completed, the curve would be submitted and the control points for that curve automatically stored, and inputted to create the desired swept surface. Other methods of input would be more manual approaches such as an input file containing control points and cross section positions in a format readable by the program or an input class containing similar data, which could be obtained by calling get methods for that class. While a Bezier Curve Editor would make generating different ears very quick and efficient, time constraints for this project may mean that one of the manual input methods would have to be adopted. However this option could be made more efficient by accompanying it with the use of an existing Bezier curve drawing tool, where points must be read off manually for each control point. 3.3.2 Sweeping Theory The cross-sections will be formed by two-dimensional closed curves placed onto the sweep path curve at specific points. The position of a cross-section on each segment of the curve will have a value between 0 and 1, where position 0 is the start of the curve segment and position 1 is the end. The sweep path curve is a three-dimensional open curve onto which the cross-sections are placed. It should be noted that if a curve editor were incorporated into the final program, it would be advisable to use a twodimensional curve editor, and apply a technique discussed by Marriot (1991), to compose the two-dimensional path together, to form three-dimensional objects. Both cross-sectional curves and sweep curves will be constructed using cubic Bezier curves segments. This segmented curve representation will be used, as it is a relatively simple method by which to create a complex curve of almost any shape. The curve segments used are cubic because lower degree curves do not provide enough flexibility in shape control, while curves with degree higher than three, require more computation and are less intuitive to use. Bezier Curves A Bezier curve is a space curve Q(u), defined in terms of a parameter u (0 u 1). Its four control points determine the shape of the curve, Pi (i = 0,1,2,3), where P0 and P3 are the endpoints of the curve, and P1 and P2 control its shape. A Bezier curve is then given by:

Q(u ) = Pi Bi (u )
i =0

(2.1)

where Pi are the control points and Bi(u) are the Berstein blending functions which sum to 1 for 0 u 1:
20

3. Requirements and Analysis B0(u) = (1-u)3 , B1(u) = 3u(1-u)2 , B2(u) = 3u2(1-u) , B3(u) = u3

The control point definition of of Bezier curve segments means that joining curve segments together and sweeping are simplified, since operations can involve the control points of the curve, rather than the curve itself. Joining Bezier Curve Segments Connecting curve segments to make up curves that are more complex implies that constraints must apply at the joins (Watt, 2000). The default constraint is positional continuity, which means that the end-point of the first curve segment is co-incident with the start point of the next curve segment. This is shown in Figure 3.3(a) where control points S3 and R0 are equal. If however, a smooth join is required between segments then first order (or tangential) continuity should be used. First order continuity means that the tangent vectors at the start of one curve and the end of the adjacent curve, match to within a constant. This type of continuity is shown between two curves in Figure 3.3(b) where control points S3 and R0 are equal and the relationship, (S3 S2) = k(R1 R0), exists such that S2 and R1 are collinear (Maddock, 2003).

Figure 3.3(a)

Figure 3.3(b) Figure 3.3(a): Positional continuity Figure 3.3(b): Tangential continuity

Due to the smooth curved form of the ear, first order continuity will be used to join the Bezier curve segments of both the cross-section curves and the sweep path curves. Practical Considerations Solutions to the practical problems behind sweeping, discussed in Section 2.5.2, must also be incorporated into the process of generating the swept ear surface. The problem of crimping due to cross section self-intersection will be solved using the method suggested by Roche (1989), which essentially involves increasing the radius of curvature. This means that the path should be defined such that it does not involve areas where the direction of the curve changes particularly sharply. Areas of the ear that do involve high curvature can be modelled by altering the cross section shape rather than the path to reflect the ear shape. Doing this will indirectly help solve the curve to polygon procedure problem. Eliminating high areas of curvature from the path will mean that less computationally expensive subdivision mat be applied and nonuniform curve subdivision may not be necessary in evaluating the curves. Subdivision

21

3. Requirements and Analysis can be achieved using the less computationally expensive arc length parameterisation method or regular intervals. The third practical problem is that of correctly orienting the cross sections along the path curve. The Frenet frame is an effective solution as long as there are no degenerate areas along the path curve. Areas of high curvature (and therefore points of inflection) along the path should be able to be avoided as described above, but it is probable that there will be straight sections of the curve and it is at these points that a violent twist can occur in the progression of Frenet frames. As such the initial reference frame will be calculated as a Frenet frame, and then propagated along the path curve using the method by Bloomenthal or Sloan described in Section 2.5.2. Cross-sectional Interpolation Cross-sectional interpolation will be used to define cross-sections between those initially specified. The finite set of initial cross-sections will be defined using Bezier curve segments. It is possible that these cross-sections will not all have the same number of segments. To interpolate between cross-sections it is essential that all crosssections have the same number of segments. A method can be used to achieve this by redefining the cross-sections so they all have the same number of segments as the cross-section with the most segments (Marriott, 1992). Once all cross-sections have an equal number of segments, one of two interpolation techniques may be applied; linear interpolation or non-linear interpolation. Given two cross-sectional curves, A and B, linear interpolation finds the crosssectional curve, C, at the required position. Only two curves are required for the linear calculation that uses evenly spaced points between the two curves. This method produces inaccuracies causing jerkiness in the final model especially when using polygonal representation when joining curve segments together. This jerky effect is illustrated in Figure 3.5(a) where the sudden change in surface direction can be clearly seen at the cross-sections.

Figure 3.5(a): Liner Interpolation

Figure 3.5(b): Non-linear Interpolation

Non-linear interpolation overcomes the jerkiness of linear interpolation by using a curve-fitting scheme. This method requires four initial cross-sections, two either side of the required position for the interpolated cross-section. These four cross-sections are used to fit a curve between them all, from which a set of Bezier Curves are calculated, and form the new cross-section. The smooth effect of non-linear interpolation is illustrated in Figure 3.5(b).

22

3. Requirements and Analysis Summary Using the techniques described above, the sweeping method produces a series of bicubic Bezier patches representing the surface of the ear.
3.3.3 Rendering the ear

For the purpose of this project the ear only needs to be displayed so that it can be visually evaluated. As such, it will not be necessary to display it as a polygon mesh, but only as a shaded surface. This simplifies the rendering procedure, as polygon intersection algorithms will not be required. The surface will be evaluated at regular intervals and displayed as a series of shaded polygons. The evaluation interval size will be directly dependant on how frequent it needs to be to make the surface appear smooth. To render the parametrically represented surface of the ear one of two types of algorithm are available. Algorithms that render directly from the parametric description, or those that approximate the surface by a polygon mesh (Watt, 2000). The second option is easier to implement, and computationally less expensive, and a variation of this method will be used for the ear model. To create a series of polygons, the patches must be subdivided. Uniform subdivision can be achieved by either applying a subdivision algorithm, which recursively divides patches into quarters terminating after n subdivisions, or by evaluating the surface at set intervals. Alternatively, non-uniform subdivision is achieved in a similar way to uniform subdivision, except that each subdivision product is tested for flatness so that subdivision terminates when a predefined flatness is reached. Given uniform subdivision is applied regardless of curvature, depending on the number of subdivisions (or frequency of sampling) it may not cope well with high areas of curvature i.e. the resulting surface would not appear smooth. Non-uniform subdivision aims to combat this problem, but there are disadvantages to this technique. Patch tearing can occur, where holes can appear between patches. This is due to a patch boundary being approximated by a different number of straight lines than a neighbouring patch. A solution is to test the polygon normals and if the tear is visible to the eye, an extra polygon must be added. Non-uniform subdivision is also considerably more computationally expensive due to the flatness test, which must be applied after every subdivision. Since the ear does not have a particularly shiny surface, it can be relatively realistically shaded using a basic Gouraud shading option. Additionally, the use of polygons makes shading relatively quick and easy using the polygon vertex normals.
3.3.4 Summary

The sweeping method presented uses both patches and polygons to get the most out of the advantages of both representations. For example, the smoothness of patches is employed, as is the ease of shading when using a polygon mesh. The advantages of both representations are presented in Maddocks comparison between polygons and parametric patches, which considers a wide range of aspects of modelling, (Maddock, 2002).

23

3. Requirements and Analysis


3.4 Evaluation of the Ear Model

Evaluation is a key area of any experimental work. In this case, it is especially important as there needs to be some method by which to determine whether a realistic model of a human ear has been achieved. There are essentially two angles from which this issue may be approached, evaluation by visual appearance and evaluation by actual measurement. Evaluation by appearance is the most relevant method, given the nature of the final ear models as discussed in Section 3.1. The visual appearance of the ear is the most obviously an important factor when considering the reality of the model. However, given the position of the ear on the head, we are accustomed to seeing the ear from a face-to-face perspective or from the side. Thus, factors such as the depth of the ear (z component) or distance from the head will be less visually detectable as being incorrect or abnormal by the average person. Peoples opinions on the visual appearance of the ear model produced will be invaluable in determining whether a realistic looking ear shape has been produced. Ideally, the evaluation would consist of a group of volunteers comparing a set of ears comprised of both real and computer generated ears. For the purpose of the rest of this chapter, the group of people evaluating the ears will be referred to as the testers. As explained in Section 3.1, ear shape and size varies dependant on the age, race and gender of a person. As such, it seems logical to assume that a persons perception of what a normal or realistic ear would look like may vary dependant of their age, race or gender. As such, the testers will comprise a cross-section of people of mixed age, race and gender. The ears will be evaluated in the form of images from various angles either on the screen. The details of three proposed evaluation methods are detailed in the next few sections. The evaluation of the ear models produced will be solely shape oriented, discounting factors such as texture. The evaluation will investigate the following issues: realism of the ear shapes produced; whether any improvement has been achieved compared to previous attempts; the scope for generating a variety of realistic ears; intuitiveness of the technique; potential for producing a specific ear.
3.4.1 Realism of ears produced

The realism of the shape of the ear is one of the main aspects to be assessed. The proposed method of evaluation is to present the tester with a group of ears, composed of both computer-generated ears and photographic images of an ear and ask them to select those, which they believe are most realistic in shape. The main obstacle associated with this evaluation method is the difference in rendering of the computergenerated ear and the photographic image. The testers would instantly spot the real ear due to the photographic quality of the picture thus nullifying the test. The proposed solution to the problem is to destroy the rendering of both images to the same level such that the shape of the two ears can be compared fairly. An example of this would be to apply edge effects and noise to an image in PaintShop Pro thus destroying the rendering such that the photographic quality of the image is not evident.
3.4.2 Comparative Evaluation With Previous Attempts

This part of the evaluation will be a simple straight comparison between images of previous attempts to model the ear and a couple of different ears generated by the program. The images of previous techniques, will be those presented in Section 2.2.1. 24

3. Requirements and Analysis Given that not all of theses images are in colour one of the ears generated by the program will be presented in greyscale and the other in a skin colour to rule out as many irrelevant influencing factors in the testers decision as possible. The tester will simply be asked to place the ears in order of realism, regardless of texture.
3.4.3 Ear Reproduction Evaluation Method

The third and final method of evaluation is designed to evaluate the how effectively a specific can be produced using the program. One way to test this would be to show the tester a photograph of a real ear, along with a group of images of ears computer generated by the final program. One of the computer-generated ears will be the computer generated copy of the real ear in the photograph. The task of the tester will be to identify, from the computer-generated ears, the copy ear. The idea is that if the ear modelling is fairly intuitive, the ear produced should be an accurate enough copy of the real ear, such that the tester should have no trouble distinguishing it from the fake copies. An element of this area of evaluation, which should be taken into account, is the length of time it took to produce the copy.
3.4.4 Summary

This chapter has described the step-by-step techniques that will be employed in generating the swept surface of the ear and the intended process of evaluation. It has also presented possible solutions to certain issues concerned with the use of sweeping, which may be implemented in the final program. The Bezier based methods will generate a smooth surface. The following Chapter aims to expand on the theory behind the chosen methods and solutions, their implementation and evaluation.

25

4. Design, Implementation and Testing

4. Design, Implementation and Testing


This chapter looks at the specific techniques that will be used in detail, giving examples of the algorithms and mathematical theory applied. Reasons for implementing certain aspects are discussed and the evaluation process is presented in detail. Throughout this chapter, a considerable number of mathematical techniques and methods of implementation were found in Mathematical Elements for Computer Graphics (Rogers and Adams, 1990) and both OpenGL books (Kempf and Frazier, 1997), respectively.
4.1 OpenGL

OpenGL is a software interface to graphics hardware, consisting of approximately 150 commands used to specify objects and operations, to produce three-dimensional applications. Among other things OpenGL allows easy construction of complex objects from geometric primitives. Lighting effects and material properties are also relatively easily implemented as are most viewing operations. For these reasons, OpenGL was chosen as the best interface to use with Java to create and render the swept ear.
4.2 Program Overview

The design of the program is divided into five classes all with explicit responsibilities. Since this is an investigative report looking at the value of sweeping as a technique for generating realistic representations of human ears, the structure and design of the program code will not be discussed at length. Table 4.1 is included to give an overall view of the program code, details of each class and its responsibility, and a brief description of the aspects of relevant interest and methods contained in each class. A more detailed account of the implementation with respect to the techniques used follows in the next section. The method of parameter input chosen, was to have an input class which contained the input control points stored in arrays, accessible by get methods. This method was chosen due to its simplicity to implement. Implementation of a Bezier Curve Editor was not feasible given time constraints. Macromedia Freehand was used as a substitute to enable easy creation of the required curves. Macromedia Freehand provides a Bezier pen tool, which enables the user to draw a continuous curve, made up from cubic Bezier curve segments, by moving the join points and control points around on the screen. Coordinates of these points can then be read off and entered into the Input class. This method of obtaining control points was supported by a simple application, which displays Bezier curves, given a set of control points. This was used to help the detection of errors in the input control points and editing the input curves by providing visual images of the curves in use. Although this method of input makes retrieving the control point values more laborious, it provided a very simple and relatively effective solution to the parameter input problem.
class Sweep class SweepGLCanvas

Sets up the interface and contains the main method This is the central class where the ear surface and its environment is generated and displayed

26

4. Design, Implementation and Testing Called from paint(Graphics g) and displays the surface as GL_QUAD_STRIPS doCalculations() Sets values of fields of a CrossSection object -Interpolates cross sections and positions -orientates cross sections along path using ref frame -stores each cross section coordinates as a vertex in an array -calculates vertex normals and stores than in an equivalent array class CrossSection Called from SweepGLCanvas for each cross section along the path, to calculate the required values for each cross section Called from SweepGLCanvas to calculate and set the values for each cross section as a private field vales for the object Calls Input get methods to obtain the input control points class MethodLib Contains all the required mathematical method not provided by the standard Java or OpenGL library Variety of methods -vector matrix multiplication -cross and dot products -add and subtract coordinates class Input Stores the input control points in arrays which are accessed using get methods Uses input control points to calculate and set each cross section as an array of coordinates Sets segment value and u value for each original cross section Index of cross section array is the cross section number get methods allows retrieval of original cross sections and path values Table 4.1: Class Responsibilities and relevant details of implementation The starting point for the code was adapted from a piece of practical coursework (Maddock, 2002), which provided a simple interface and environment in which to display the ear. As such this chapter will concentrate on the areas of implementation directly related to generating and displaying the ear. Aspects of the display such as lighting effects and viewing transformations will not be discussed in detail; however, brief comments are given in Table 4.1.
4.3 Generating the Ear

displayQuads()

The ear and its environment are created and displayed in SweepGLCanvas. The method doCalculations is called initially on creation of a Canvas object. It is this method that enables the calculation of all the necessary data required to define the ear. The cross section input values give the control points for the original cross sections, of which there are forty, and their positions around the path curve. For all cross sections, a transformation matrix must be calculated to position the cross section correctly on the path curve and for interpolated cross sections the coordinates of the cross section itself must additionally be calculated. The result of the doCalculations method is an array of coordinates representing the swept surface, which can then subsequently be displayed. OpenGL provides a function, glMap2, which used in conjunction with glEvalCoord2 defines and then invokes a two-dimensional evaluator. In other words, given an array of control points, it automatically creates the corresponding Bezier surface. This was initially the chosen method of implementation; however, due to the size of the control 27

4. Design, Implementation and Testing point, array problems were encountered. As a result the surface had to be calculated and displayed manually. The step-by-step process by which this was achieved is described below.
4.3.1 Surface Curve Sampling

To manually generate the Bezier surface, two main possibilities were available: sweep the cross-section control points around the path curve, and then calculate patches from each subset of 16 control points, or calculate the coordinates for each cross section using the Bezier function, and then use these coordinates to create a strip of polygons between each pair of cross-sections, thus creating an approximation to the surface with polygon strips. The former option required the number of control points to adhere to the condition that each patch requires 16 control points, and the selection of control points should be in subsets of 4x4 points. The latter option does not constrain the number of control points to any particular number, since only pairs of cross sections are required to create a strip. Additionally, to interpolate between cross sections, it is a requirement that each cross section curve must have the same number of curve segments. A typical cross section refinement algorithm involves using a curve-fitting scheme to add extra segments along a curve, such as that presented by Marriott (1992). However, by working with pre-evaluated cross section coordinates, (the latter option) rather than the control points, a simpler and computationally less expensive solution can be applied to the problem, as detailed below. Each cross section will consist of 300 coordinate values to enable interpolation between cross sections, since each cross section having the same number of defining points equates to each one having the same number of curve segments. This number of coordinate values should also create a good approximation to a smooth surface. In considering the curve to polygon procedure problem each cross section could be uniformly sampled according to the number of segments i.e. each curve segment is evaluated at regular intervals calculated by: Sampling frequency = (300/no. of curve segments)-1. (4.1)

However, if this were the case, uniform sampling would not necessarily correctly capture the shape of segments, such as areas of high curvature, or longer length. A more visually apparent effect of this would be the problems encountered when displaying the surface. Depending on how much the curvature differed between neighbouring cross sections, polygons may appear stretched due to different rates of sampling along corresponding curve segments. Given each cross section will consist of 300 points, non-uniform subdivision of cross section curves shouldnt be necessary to generate a good approximation to a smooth surface. However to ensure the polygons are not noticeably stretched, a solution is required that will assign a higher sampling frequency to longer segments of the curve. The method created to do this combines arc length parameterisation and uniform sampling, to give a relatively computationally inexpensive solution. For each original cross section, the arc length of each segment is calculated as a percentage of the total curve length. There are several ways in which to calculate these lengths, the one described below is, while still effective, the simplest. The calculated lengths are only approximations, but accurate enough for the needs of this application: 28

4. Design, Implementation and Testing L0 = |P0 P3| Segment length = L1 = |P0 P1| + |P1 P2| + |P2 P3|

L0 L1 + 2 2

(4.2)

The following pseudo code expresses the sampling algorithm: For all cross-sections Calculate the total length of the cross-section using Equation 4.3 For each curve segment If the last curve segment Sampling frequency = total number of samples (300)-running total of samples Else Calculate the length of the curve segment as a percentage of the cross-section length Number of samples = this percentage of the total number of samples (300) Sampling frequency for the curve segment = (Number of samples)-1 Add the number of samples to the running total End else if End for all After pre-calculation of the 300 points for each of the original cross sections, interpolation can be easily applied. The effect of this method of calculation is that there are more values to contend with, i.e. 300 coordinates instead of a considerably lower number of control point coordinates. But, given memory is not a problem, the only consideration that needs to be made is to add an extra loop into each computational algorithm.
4.3.2 Cross Section Calculations

For each cross section the translation matrix that positions and orientates the cross section along the path curve is calculated. The coordinates for all interpolated crosssections must also be calculated. The following pseudo code expresses the calculations required for each cross-section along the path as implemented in the doCalculations method. Each stage of calculation is explained in more detail in the following sections. For all cross-sections If not an original cross-section Interpolate the cross-section coordinates using the curve fitting scheme End if Calculate vectors V, A and T If first cross-section Calculate vector B and N Else Propagate vectors B and N End if Compile translation matrix Translate cross-section coordinates Store new translated coordinates End for all

29

4. Design, Implementation and Testing Each value is calculated and stored as an attribute of a CrossSection object. For each cross section these values are re-calculated. In this way storing values not required beyond the calculation stage is avoided. Only the values required to transform the relevant cross section are called back to SweepGLCanvas where the resulting coordinates are stored in an array, which defines the ear surface. The mathematical theory and implementation of each of the stages of calculation for each of the crosssections is as follows. Cross-section Interpolation Twenty interpolated cross sections are calculated between each pair of original crosssections. In this way, original cross-sections can be positioned along the path without needing to ensure they are close enough together to obtain a smooth curve. Given the original cross sections are represented as pre-evaluated coordinates it is roughly equivalent to working with a polygon mesh; in the same way that linear interpolation causes jerky effects when used in conjunction with polygons, the same problem is encountered interpolating between evaluated cross sections. Non-linear interpolation (as discussed in Section 2.5.2) overcomes the uneven surface effect of linear interpolation by applying a curve-fitting algorithm between cross sections. The curve-fitting scheme used, is adapted from Marriotts work (1992). All original cross sections are defined in the x y plane at the origin. To enable all cross sections to be correctly positioned along the curve, cross sections are interpolated at the origin and then individually transformed to their current position, and orientation along the path curve. All original cross sections are defined with a constant z value of zero. In their current positions (with a constant z value) the curve-fitting algorithm cannot be applied. To calculate the interpolated cross section points, each original cross section is temporarily translated along the z-axis, so they are spaced at intervals of 1.0 units apart from each other. In this way the x and y coordinates can be nonlinearly interpolated using the curve-fitting algorithm described below. The zcoordinate of each cross section is then set back to zero after interpolation. The problem of curve fitting is demonstrated in Figure 4.1(a) where a set of skeleton points (S), are defined and a set of Bezier curves are required to pass through them Figure 4.1(b). In this case, the skeleton points are corresponding coordinates on a series of cross-sections. Curve fitting is the process of finding the control points, Cij, of the Bezier curves. It should be noted that for the remainder of this section, skeleton points will refer to the control points which lie on the curve, and control points will refer to the points which need to be found.

Figure 4.1(a): Skeleton points, Si

Figure 4.1(b): Bezier curves through Si

30

4. Design, Implementation and Testing The first and last control points, C1,1 and C4,2 are set an arbitrary distance along the line joining the nearest skeleton points (as shown in Figure 4.2(b)), calculated as: C1,1 = S0 + k(S1 S0) C4,2 = S4 + k(S3 S4) (4.3) (4.4)

k is a constant set, in this case to 0.25 as suggested by Marriott (1992).

Figure 4.2(a)

Figure 4.2(b)

Figure 4.2(c)

Figure 4.2(d)

Figure 4.2(a): Triangle of skeleton points Figure 4.2(b): Extended points E Figure 4.2(c): Distances and points Figure 4.2(d): Translating M,E to S,F

Calculating the remaining control points involves a little more computation. For a point Si, a triangle of skeleton points is formed with Si-1 and Si+1 as shown in Figure 4.2(a). The lines Si-1Si and SiSi+1 are extended to give new points E1 and E2 (Figure 4.2(b)), which are calculated as: E1 = Si-1 + k(Si Si-1) E2 = Si+1 + k(Si Si+1) e is a constant extension value set, in this case, to 1.25 as suggested by Marriott (1992). A line is drawn from E1 to E2 with distances a and b (Figure 4.2(c)), calculated as: a = |(Si Si-1)| b = |(Si Si+1)| Using relationships between the distances a,b,c,d and f, M can be calculated as: a M = E2 + (E1 E 2 ) b+a (4.5)

The translation which maps M onto Si is then applied to E1 and E2 (Figure 4.2(d)), mapping them onto F1 and F2, giving the desired control points as: Ci,2 = F2 C(i+1),1 = F1 This scheme is applied to all the coordinates of each cross-section, the results of which are stored in an array of coordinates after setting the z-component back to zero. 31

4. Design, Implementation and Testing For each interpolated cross section, its position along the path curve must also be calculated. An integer, indicating the curve segment on which it is positioned, and a floating-point value between 0 and 1, indicating the u value position along that particular segment, determine a cross sections position. The algorithm used to calculate the position of an interpolated cross-section involves the calculation of the lower original cross sections position as a single floating-point value: Position = curve Segment Number + u Value (4.6)

The number from twenty of the interpolated cross section is calculated as a percentage that is then applied to the total distance between upper and lower original cross sections to calculate the distance of the interpolated cross-section from the lower crosssection. By adding this distance to the position of the lower cross section as calculated in Equation 4.6 the position of the interpolated cross section is found. The integer part of this value indicates the path curve segment number and the floating-point remainder is the u value along that curve segment. Cross-section Orientation To correctly position and orientate each cross section along the path curve, the position vector and orthogonal reference frame vectors must be calculated as detailed in Section 2.5.2. This is done for each cross-section in the stages described below. Setting the path point involves quite simply calculating the value of the path curve at the point at which the cross-section is positioned using the standard Bezier curve function. The curve segment value is used to determine which set of path control points to use and its u value is the parametric position along that curve: Q(u ) = Pi Bi (u )
i =0 3

(4.7)

Setting the vector V calculates the value of the first derivative vector of the path curve at that point along the curve using the curve segment number and u value as before: Q' (u ) = Pi Bi ' (u )
i =0 3

(4.8)

Setting the vector A calculates the second derivative of the path curve at that point along the curve using curve segment number and u value as before: Q' ' (u ) = Pi Bi ' ' (u ) (4.9)
i =0 3

Setting vector T uses vector V to calculate the unit tangent vector: T= V |V | (4.9)

32

4. Design, Implementation and Testing As previously discussed the Frenet frame is not an appropriate method by which to orientate the cross sections along the path curve, as degenerate sections of the curve cause severe twisting in the progression of Frenet frames. The effect of this is shown in Figure 4.3(a) where the shaded area is a twisted quadrilateral, Figure 4.3(b) that shows the effect of twisted Frenet frames along a sweep curve.

Figure 4.3(a): Twisting of Frenet frames Figure 4.3(b): Effect caused by twisting

The two potential solutions to this are Bloomenthal (1992) and Sloan (2000, http07) mentioned in Section 2.5.2. Both are based around propagating an initial reference frame along the space curve.

Figure 4.4: Computing a reference frame from the previous frame

Figure 4.4 shows this, where reference frame {T0,B0,N0,P0} is propagated to position P1 to create a new reference frame {T1,B1,N1,P1}. The solution presented by Bloomenthal (1990) involves calculating the translation that maps T0 onto T1, then applying it to the rest of the reference frame to obtain new B and N vectors positioned at P1. The solution by Ken Sloan is considerably less computationally expensive, involving the calculation of cross products only as:
N1 = B0 x T1 B1 = T1 x N1

A downside to this procedure is their failure if B0=T1, but that would only occur if the increment in path evaluation is so large that the path direction has turned 90 degrees between samples, which is not a concern with respect to the path used for the ear model. Having calculated the position and orientation vectors for the cross section the translation matrix is composed: 33

4. Design, Implementation and Testing


Nx Bx Trans = T x P x Ny By Ty Py Nz Bz Tz Pz 0.0 0.0 0.0 1.0

This matrix is stored as a 4x4 array and called back to SweepGLCanvas using getTransMatrix. The coordinates of the cross section are treated in a similar way using getCPts. Each cross-section coordinate is multiplied by the translation matrix in turn to give a new set of coordinates for the cross-section, correctly positioned and oriented along the path curve. These translated coordinates are stored in a two-dimensional array with dimensions (no. of cross sections) x (no. of cross section coordinates) named dim3CrossPts. Each subset of 2x2 coordinates in this array is the vertices of a single quadrilateral a series of which share edges to create a strip (as in Figure 4.5). The strips of quadrilaterals are displayed using glBegin and glEnd commands where the mode is GL_QUAD_STRIPS, thus generating an approximation to a smooth surface.

Figure 4.5: QUAD_STRIP formation

To create a shaded surface, the normals of each quadrilateral vertex must also be calculated. The normal of each vertex is calculated as the average of its four surrounding quadrilateral surface normals, as shown in Figure 4.6. The vertex normals are stored in an array (named vertexNormals), dimensionally equivalent to dim3CrossPts, whereby the index of each vertex normal value, stored in the array, corresponds to the position of the coordinates of that vertex in dim3CrossPts array. The values in these two arrays are what are used to display the surface.

Figure 4.6: Vertex normal

Displaying the Ear DisplayQuads method is called when the Generate Ear button, is clicked on the user interface. The passage from my code below displays the ear using both the vertex and vertex normals arrays, generated as described above.

34

4. Design, Implementation and Testing


for (int j=0; j<totalCrossSecs; j++) { int nextCs = j+1; JGl.glPushMatrix(); JGl.glBegin(JGl.GL_QUAD_STRIP); for (int m=0; m<(numCSValues); m++) { JGl.glNormal3fv(vertexNormals[j][m]); JGl.glVertex4fv(dim3CrossPts[j][m]); JGl.glNormal3fv(vertexNormals[nextCs][m]); JGl.glVertex4fv(dim3CrossPts[nextCs][m]); } JGl.glEnd(); JGl.glPopMatrix(); }

4.3.3 Path Curve

When it came to implementing the path curve, it was decided that the form of the path curve could be considerably simplified. In considering the areas of the ear that lie in similar planes, it was realised that just two main path curves are required. The helix can be swept from a position roughly central to the ear, around the top and then down into the lobe. The tragus area could also be included in this main curve as an extension of the lobe area of the curve. In this way the majority of the outline ear shape has been defined by a single curve. The antihelix swings up from the lobe running roughly parallel to the helix until approximately half way up the ear it swings into the upper area of the ear and ends with direction roughly perpendicular to that of the upper helix. To capture the shape and direction of the antihelix, a second path curve is required. This path curve should start at the point at which the lobe area separates then swing up into the upper ear area, following the natural shape of the antihelix. Since the antihelix and helix run roughly parallel up the side of the ear, the initial segment of the anithelix curve is defined to be co-linear with the lobe area of the curve. I.e. tangential continuity is maintained between segments of both curves. The initial path curve that was implemented is shown in Figure 4.7(a).

Figure 4.7(a)

Figure 4.7(b)

Figure 4.7(c)

Figure 4.7(a): Path curve with too high curvature Figure 4.7(b): Crimping caused by cross-section self-intersection Figure 4.7(c): Path curve with increased radius of curvature around the lobe

However, when cross sections were swept around this curve, noticeable crimping occurred due to cross section self-intersection, the effect of which is indicated in Figure 4.7(b). Given the size of the cross-sections being swept around the path curve, 35

4. Design, Implementation and Testing the radius of curvature was too tight. Applying the solution described in Section 2.5.2, the radius of curvature in the areas in which crimping occurred was increased. To maintain correct representation of the ear, the shape of the relevant cross sections were altered to account for the change in the path curve. An example of the resulting path curve used is shown in Figure 4.7(c). Another consideration when modelling ear shape is the depth component. This can differ considerably across an ear and also between ears. To model this there were two available options; vary the depth component (z-coordinate) of the path and define each cross section at roughly the same height, or maintain a constant depth component, along the path curve, and vary the height of each cross-section accordingly. The latter was implemented, as altering the height of the cross-sections alone seemed the more intuitive option when it came to determining cross-section shapes. It was felt that by concentrating on altering the height of the cross sections alone, better control could be maintained over how the depth component varied across the ear.
4.3.4 Cross section curves

The initial process of determining the cross section curves to be used proved considerably arduous, involving a lot of trial and error. In addition to defining cross sections, that correctly reflected the shape of the ear, more specific issues were encountered as detailed below. One of the more awkward issues to solve was that of interpolating from a concave cross-section to a convex cross section. The area in question is at the start of the helix, as it curves out of the ear above the tragus. Figure 4.8 shows the two pairs of crosssections in question, ordered A,B,C along the path curve.

Figure 4.8: Convex to concave cross-sections, left to right: A, B,C

The problem here is that both cross-sections A and B are similar in length, as well as individual segment length. Points at the start of the overhang, of the concave cross section, correspond to points at the top of the convex cross section. However, as the points progress along each cross-section they become less well aligned. Points on the overhang of the concave cross-section correspond to points near the base of the bump of the convex cross-section; points at the base of the overhang correspond to points near the edge of the convex cross-section. This caused the quadrilaterals on the surface of the ear to become stretched, the effect of which causes unexpected effects on the surface of the ear. To overcome this problem, the total length of the concave cross section was shortened, so that the area of overhang constituted a larger percentage of the total length of the curve, and would match the convex cross section more closely. This was only partly achievable though due to obvious visual constraints on the cross section shape, but also the fact that subsequent interpolation was with another overhanging cross section

36

4. Design, Implementation and Testing along the helix (cross section C), and as such, over compensation would only cause a similar effect to occur between these two cross sections. The other main issue in defining the ear cross-sections is that of joining separate sections of swept surface together smoothly. This situation is applicable in two main areas; where the antihelix coincides with the helix at the base of the overhang, and in the concha area where many cross sections come together to form the base of the ear. Given the approximation involved in the interpolation process, it is very difficult to calculate the exact position of intersection of cross-sections and create a smooth join. Also the cross section and path curve are altered to create variations in ear shape. As such, conditions that maintained a smooth join for one ear variation may not still apply for another. The solution that was eventually applied was quite simply to manually adjust the cross sections accordingly for each ear generated. The areas of overlap were kept as flat as possible, so that the joins looked as smooth as possible, without needing to calculate the exact point of intersection. This was difficult around the base of the helix, where areas of flatness do not reflect the realistic shape of the ear. Figure 4.9 indicates the areas in which the joining problem occurred (A-H). It should also be noted that the join problem applies to areas of the back of the ear, which as a result did not reflect the realistic shape particularly accurately. With more time a much more effective and generic solution could have been applied to this problem, in the form of a shape grammar, to create smooth joins between swept sections. Such a solution is discussed and implemented by both Marriott (1992) and Snyder (1992). Marriotts join modeller takes simple swept models and joins them together to form more complex objects. The grammar developed allows a set of operations to be performed on pairs of paths to specify a model. A special case of this is a smooth join ensuring tangent continuity. Snyders work covers a variety of ways in which to join generative models.

Figure 4.9: Areas of uneven joining

A full example of the path curve and cross-sections used to create the ear shown in Figure 4.9 can be found in Appendix A. A sample of the full set of ear variations generated is shown in Appendix B, with a short explanation of the input changes made to create them.
4.3.5 Summary

37

4. Design, Implementation and Testing The ears were created using a small amount of data about average ear measurements, but mainly using a lot of artistic judgement and comparison to real life ears. There is nothing limiting the path or the cross sections, except for the crimping effect that can occur in areas of high curvature. As such it is perfectly feasible that any variation in ear shape could be recreated. Currently the program is quite time consuming due to the simplistic method of input and the lack of a joining grammar between sweep surface but this could easily be resolved if further time was available to develop the program.
4.4 Evaluation

The evaluation method described in Section 3 was implemented as a web-based questionnaire. It should be noted that due to the nature of this investigation and the lack of substantial comparative material a formal testing procedure could not realistically be conducted. Despite this, every effort was made to ensure that the evaluation procedure was as controlled as possible. What was hoped to be gained from the evaluation procedure was an insight into whether realistically shaped ears had been captured using the sweeping technique. The full questionnaire can be found in Appendix C. The relevant questionnaire images shown here are also available at www.dcs.shef.ac.uk/~m2jd. Throughout the questionnaire it was stressed that the emphasis was solely on the evaluation of the shape of the ears, rather than the texture. For the purposes of the questionnaire some of the images generated were visually edited using PaintshopPro. This was especially important in the preparations for Question 1 in which computer-generated ears were to be compared to photographic images. It is hoped that Question 1 would give some indication as to how realistic the ears created are, by comparing them to real-life ear shapes, however it is suspected that the results may be biased by the differing image textures of the photographs, against the computer-generated images. The texture of both types of images was disguised as much as possible using effects such as greyscale, blurring, facet pixelation etc. However the photographic image texture does stand out, not helped by the harsh lighting effects of the computer-generated ears. Comments made by testers indicated that the main reasons for their choices in Question 1 was that the more realistic ears appeared to have more depth to them, a quality naturally possessed by the photographic images. Although the computergenerated ears do possess a realistic depth component, the lighting effects have difficulty matching the real life depth effect contrast achieved in a photograph. The second question involves the comparison of all computer-generated ears, and as such the image editing required for the first question is not required here. However to keep the comparison as fair as possible, two ears created by the program were presented, one in greyscale and the other in a pink skin colour. It is hoped that this question will indicate that the ears produced using sweeping are as good as, if not an improvement on, previous attempts using manual techniques. The third and final question aims to conclude whether sweeping is intuitive enough as an ear modelling technique, giving enough control to model a specific ear to a level of identifiable accuracy. It was decided that the ears would only be evaluated as if viewed from the side of the head. This was for the simple reason that any evaluation from a different angle would not have a control sample to compare to, and the significance of the results would be diminished: With respect to questions one, two and three; a comparison with a photographic image would be completely depth dependant and would therefore be very 38

4. Design, Implementation and Testing easily detectable; none of the previous attempts are displayed from different viewpoints; it is very difficult to tell specific ears apart when viewed from an angle other than straight on unless severely deformed or different in size.

39

5. Results and Discussion

5. Results and Discussion


This chapter looks at the findings from the evaluative procedure and draws conclusions as to whether the initial objectives and goals have been reached. Completed areas of the project are discussed, as well as areas of further work and investigation. Throughout this chapter, areas of the ear are referred to using their biological names, which were initially explained in Section 2.1.
5.1 Evaluation Results

The questionnaire used in the evaluation procedure can be found in full in Appendix C. The results of question one are shown in Figure 5.1. The graph indicates the score for each ear, whereby if the ear was chosen as the most realistic it received a score of six down to the least realistic of the six ears chosen getting a score of one point. It is worth noting that the photographic images were A,G,H,I and J.
Question 1
90 80 70 60

Score

50 40 30 20 10 0 A B C D E F G H I J K L

Image

Figure 5.1: Results of Question 1

The images presented to the tester consisted of five photographic images and seven computer-generated ears. All five photographic images were rated in the top six most realistic ears on average, along with one of the computer-generated ears (Image E), which made it into the top four. Looking at the images it is felt that this dominance of photographic images is largely due to the realism of the images rather than the shape of the ears themselves. Although the images were considerably visually edited to disguise this difference, it appears that most people could still identify which images are which. The photographs possess a quality of depth that the computer-generated images do not. The recreation of this effect was attempted, but the result is either a harshly contrasted image or a softened blurred effect, making the image appear flattened. The shininess property of the ear was also set at an appropriate value to try to enhance the depth contrast, but in most cases the result is a somewhat artificial surface quality. The depth contrast of the computer-generated ears is also not helped by the flattening of ear shape at cross-section intersections in the concha in an attempt to smooth the joins. Despite the overall ordering of the ears, it is well worth noting that ears E, F and K all featured in the top three choices of more than one in three of the testers, with ear E being chosen as a first and second choice on three separate occasions. Also, every single computer-generated ear was included in a least one testers top five. Given there were only five photographic images in the complete test sample of question 1, the realism of the computer-generated ear variations are all contendable with that of real life ears. From this alone, it may be concluded, if somewhat tentatively, that the ears produced posses a general realism comparable to real life ears.

40

5. Results and Discussion The aim of the second part of the evaluation is to ascertain the realism of the ears produced in relation to the previous attempts to model the human ear presented in Section 2.2.1. Two ears were chosen from the computer generated samples, (Images Q and N) in which the variation in path, and cross sections, were not too extreme. In an attempt to consider and nullify the element of texture difference between the ears, one of the ears generated was displayed in greyscale and the other in colour. Figure 5.2 shows the results of question two, where, similarly to question one, a score of five is given to the ear selected first, and one point to the ear selected last of the five. In addition to the conclusions made regarding the comparative realism of these computer-generated ears an indication as to how people may have viewed and evaluated the ears can also be seen.
Question 2
80 70 60 50 40 30 20 10 0 M N O P Q

Score

Image

Figure 5.2: Results from Question 2

Images P and Q are clearly considered the most realistic ears. It is not a surprise that ear P comes out on top as it is the only manually generated ear-shape that demonstrates reasonable overlapping, as well as being rendered very realistically, possessing a good depth component. Although placed second, the significantly higher score of Image Q, compared to the remaining three ears, indicates that the swept ear is in high contention in terms of realism, compared to the majority of the manually generated ears. Care must be taken in drawing formal conclusions from the ordering of these ears, due to the relatively small sample size of testers. The order in which the remaining three ears are placed is rather unpredicted given the first and second placed ears. Points of interest in these results should be noted as to how the testers viewed and evaluated the realism of the ears as well as conclusions regarding the comparative realism of these computer generated ears. Image N is actually very similar to Image Q. However, displaying it in black and white has caused it to be rated one of the lowest out of all the computer-generated ears. This is perhaps an indication that the testers have found it difficult to discount shading and texture, and evaluate the ears on shape alone as suspected in question one. The ordering of the remaining two ears backs up this argument as Image O, which is rated third, has a more realistic diffuse surface property, but is, technically speaking, probably the least realistic of all the computer-generated ears: Where the helix should overhang, at the top of the ear, it sticks up, and the U-shaped gap usually found between the lobe area and tragus area is completely non-existent. Image M does not display the appropriate overlapping involved in the ear shape. Nor does it correctly represent the inner lobe and concha area, making it appear that the antihelix runs all the way down to the bottom of the ear following the shape of the lobe. These factors maybe suggest that the testers (or people in general) are not entirely aware of the accurate shape of a human ear. This would not be surprising given the huge variety in ear-shape throughout the human race as well as the inconspicuous position of our ears 41

5. Results and Discussion on the human head. An interesting side point to note is that the ear of one of the testers was used as the reference ear in question two, but separated from their head the person did not actually recognise it as their own ear. Regardless of these additional findings, what can be concluded from this second evaluation is that the ear in Image Q, is considered more realistic than all but one of the previous modelling attempts, by quite a considerable margin. Part three of the evaluation does not involve the problem of discounting texture or colour, since all the images involved have been generated using sweeping and rendered in exactly the same way. Figure 5.3 shows the result of this stage of the evaluation. The ears are scored accordingly; a first choice alone without a second choice being made is three points, the score for a first choice followed by a second is two points and the score for a second choice is one point. The two clear favourites are Images S and T. Image S, with a clear lead of five points is in fact the correct copy ear, generated with the aim of resembling the reference ear as closely as possible.
Question 3
20 18 16 14 12 10 8 6 4 2 0 R S T U V W X

Score

Image

Figure 5.3: Results from Question3

This result would indicate that sweeping has the scope, not only for creating a variety of ear shapes, but also a specific ear to an identifiable degree of accuracy. However, another major factor to consider is the ease with which these variations can be created, time cost, and intuitiveness and control in the creation process. Creating the initial ear was considerably time consuming as it took a while to get used to how the path and cross sections interacted with each other to create the final surface. However, once a base ear had been produced, the intuitiveness of the process increased considerably. Creating general variations can be achieved with relative ease; the main alterations required are those affecting the join areas as detailed in Section X. Creating a specific ear involved slightly more trial and error, but an accurate result could still be achieved with relative ease as demonstrated by the results of question three. Creation of ear varieties, could be made considerably easier and quicker with some further development to the sweeping program, such as guidelines for ear dimensions and a method by which to create smooth joins between areas of the ear as discussed in Section 4.3.4.
5.2 Completion of objectives

The central objective of this project has been to investigate whether sweeping is a suitable technique by which to generate a realistic model of the human ear. It is felt that in its basic form, this central goal has been achieved with a positive outcome, and sweeping showed significant potential in the areas of investigation. However, insights

42

5. Results and Discussion gained throughout the development and the evaluation process; indicate areas that would benefit from considerable improvement. The main area in which the ear model produced was lacking, was the issue of joining intersecting sweep surfaces. Not only did the surface appear uneven and creased, but also the ad hoc solution of flattening areas of intersecting surface, applied to this problem, adversely affected the realism and depth of the ear. Other more specific areas lacking in realism, essentially as a result of the same issue, were the ear hole and the back of the ear. The ear hole lies at the base of the concha in which many crosssections meet and intersect from helix, antihelix and tragus. In the absence of a joining grammar, it proved very difficult to represent this area realistically, and the ear hole was displayed as a gap beneath the tragus area rather than an actual hole defined by the ear surface. The back of the ear is made up from the bases of all the cross-sections joined together. Again, without the implementation of a shape grammar, defining the cross-sections such that smooth joins were achieved between intersecting surfaces on both the back and front of the ear was not a practical possibility. For obvious reasons, the emphasis for realistic modelling was placed with the front of the ear, but as a result of this the realism of the back of the ear was neglected, appearing flat and uneven in several places. The factors discussed above suggest areas of the ear model, the product, which could be improved. Another factor worth considering is the process by which this final ear model is achieved. One way in which it is felt that this process could be considerably improved is by the implementation of Bezier Curve Editor, an example of which is presented by Marriott (1992). For the purposes of generating ear models from swept surfaces, this basic curve editor would be adapted to include extra features such as those described in Section 3.3.1. In this way it hoped that the ear generation process would become considerably less time-consuming, and more intuitive.
5.3 Considerations for Further Development

If the areas of further development suggested above were undertaken, re-evaluation of the ears produced would be necessary. Insight gained from the evaluative process of this project, could be used to ensure the re-evaluation process yielded as accurate, and relevant, results as possible. Although the emphasis of the evaluation would remain focussed on the realism of the shape of the ears, it is felt that the process would benefit from increased attention to the presentation of the images. A secondary investigation could be conducted to look into different material properties (such as specular index, diffuse value etc.) applied to the surface of the computer-generated ears. It may be that existing studies into skin textures would prove useful here. The benefit of conducting this study, in addition to the relevance of the findings, as they stand alone, is that the results could be applied to the problem of differing image textures when comparing computer-generated with real life ears. An element of investigation that would also be worth exploring further is the evaluation of the realism of the generated ears, from different angles. Viewing the ears from different angles would also place emphasis on the evaluation of the overhangs of the ears which are much more apparent when not viewed head side on. Although the natural ease with which sweeping can model areas of overhang is apparent, as an initial objective of the project, it would be appropriate to have some data concerning the evaluated realism of this aspect of ear shape. Computer-generated ears could be generated using manual modelling techniques to make images from different angles 43

5. Results and Discussion readily available, and with the improvements to the surface properties of the ear, this angle of evaluation would be worth implementing. In evaluating the ability of a redeveloped program to model specific ears, an interactive evaluation procedure could prove useful. This would involve the presence of a real life person whose ear has been modelled during the testing process such that the comparison could be made between their ear, and a computer-generated ear that can be rotated in real time on the computer screen. The main aim of this would be to evaluate areas such as the ear hole and the back of the ear in order to determine whether improvements had been made from the products of this project in which these areas were somewhat lacking. One final suggestion for an additional area of evaluation would be to present ears attached to a head. Given some people seem to have trouble identifying their own ears, when not presented in context with their head (based on comments of the testers), it would seem logical that they may evaluate the shape of ears differently, depending on whether they are presented in or out of context. The general aim behind these suggested evaluative methods is to eliminate secondary factors taken into consideration by testers when evaluating the ears, and obtain data that can be interpreted in terms of shape alone. A larger set of testers would also be necessary to obtain a larger sample of evaluative data, from which more formal conclusions could be drawn.
5.4 Areas of Further Investigation

Areas for further development of the original investigation have already been discussed. An area of investigation prompted by, but outside of the scope of, this project is the potential of sweeping applied to modelling ears of other species. As a visual investigation of the outer ear, an investigation of this nature is likely to focus on the mammal subset of the animal kingdom for the simple reason that this is the only class of animals that typically have visually detectable outer ears. Figures 5.4 show images of ears belonging to different mammals.

Figure 5.4: A selection of mammal ears

The ears of chimpanzees and gorillas (right of Figure 5.4) exhibit exreely similar qualities as human ears. This indicates that there is potential for investigation. However, quite what use an investigation of this nature would have is not sure. As such, a suggested area of further research would be to conduct an investigation into how accurate sweeping an ear can be and whether there is any need for the generation of accurate ear representations. Suggested areas of application may be some element of design or manufacture.
5.5 Project Progress

Although a variety of ears were generated as intended, it is felt that due to time constraints, the ears were lacking in areas which could have been improved. These have been detailed above, namely the need for a smooth joining algorithm and Bezier Curve Editor. 44

5. Results and Discussion The original intention was that the evaluative process would occur in two main stages, such that improvements could be made to the ears based on the results of the first stage, and then re-evaluated in the second stage. This process would have proved very productive, especially given the insight gained from the evaluation as it was completed. The two-fold evaluation process would have been of significant assistance, not only in terms of determining what constitutes a realistic ear, but also on how people went about the evaluation process ie. Attention to ear texture etc as previously mentioned. Due to time constraints this was not possible and so only one stage of evaluation was conducted.

45

6. Conclusions

6. Conclusions
The central aim of this project was to ascertain the value of sweeping as a technique, applied to the problem of modelling the human ear. Areas of particular focus were whether the extensive overlapping of the ear could be accurately captured and whether sweeping could provide the scope to generate a variety of differently shaped ears. Both of these factors were the main areas in which it was felt previous attempts at modelling the ear, using manual techniques, had been lacking. Based on the background research conducted, sweeping, especially in relation to other modelling techniques, showed potential for creating a realistic ear model. To implement the investigation, a sweeping program was developed, the central objective of which was to generate a smooth swept ear surface, thus providing the tool with which to evaluate sweeping as an ear modelling technique. The techniques selected to calculate each stage of the sweeping technique and address the practical problems associated with sweeping, were the most applicable and effective in terms of modelling the ear. The product of the implementation stage is a program that can generate a variety of ears by altering the input parameters. Evaluation of a sample of these ears produced generally gave positive results. The main objective of the evaluation process was to ascertain whether the ears appeared realistic to the human eye, within different comparative contexts. Despite the problems with rendering, within the context of real-life ears, the products of sweeping can certainly be considered to be in contention. Within the context of other computergenerated ears, sweeping was evaluated as above average. Taking into account the added bonus of ear variety offered by sweeping, the value of the technique over the other methods can only increase. Thus scope for variety also proved valuable when applied to specific ears. In terms of the original two main areas of focus; the ability to capture the overlapping of the ear shape and the generation of varied ears, sweeping can be positively considered on both counts. Although direct evaluation of the overlapping specifically, was not undertaken, within the context of the whole ear, overlapping was realistically captured. Additionally, throughout the process of cross section definition to generate an ear, the natural ability of sweeping to model the overhangs and overlaps in areas such as the helix is apparent. To summarise, it has been shown that sweeping is capable of generating a realistic human ear. However, there are important areas of both the ear produced and the process by which it is created in which improvement is both necessary and possible. If these improvements were to be undertaken, a proposed revised evaluation method should also be implemented from which more formally conclusive findings would hopefully be made. Another observation from the evaluative process was the variation of results between testers and the inability of people to recognise their own ear viewed out of its normal context. It may be that humans are in fact unaware of what an accurate ear should look like. Given the almost infinite possible variation in ear shape and the inconspicuous position of the ear on the human body, this theory is quite feasible. The suggestion is therefore put forward, that for the proposed application of the ear models produced i.e. 46

6. Conclusions As part of a computer graphics facial model, the accuracy of the ear beyond a certain point would go unnoticed. The extent of the accuracy of this theory would be an appropriate area of consideration if further investigation into sweeping within this context were undertaken. An area of further investigation that would likely prove valuable is an investigation into potential applications of ear models of varying degrees of accuracy. With the results of a researched based investigation such as this, any further development into generating more accurate ears or improving the process by which they are created could be fine-tuned such that the products and processes actually met the requirements of specific application.

47

References

References
Algazi, V.R., Avendano, C., Duda, R.O. & Thompson, D.M (2001) The CIPIC HRTF Database. Proc. IEEE Workshop on Applications of Signal Processing to Audio and Electroacoustics, pp. 99-102. Bloomenthal, J.(1990) Calculation of Reference Frames along a Space Curve. In: Glasner, A. (1990) Graphics Gems. Academic Press, pp. 567571. Bruce, V. & Young, A. (1998) In the Eye of the Beholder: The Science of Face Perception. Oxford University Press. Diffrient, N., Harman, D., Tilley, A.R. & H. Dreyfuss Associates (1981) Humanscale: a portfolio of information, Vol.6. Cambridge, Mass.: M.I.T. Press. Foley, J.D., Van Dam, A., Feiner, S.K. & Hughes, J.F. (1990) Computer Graphics: Principles and Practice (2nd ed.). Addison-Wesley. Glasner, A. (1990) Graphics Gems. Academic Press. Kempf, R. &Frazier, C. (1997) OpenGL: Programming Guide (2nd ed.). AddisonWesley. Kempf, R. &Frazier, C. (1997) OpenGL: Reference Manual (2nd ed.). AddisonWesley. Maddock, S. (1999) An Investigation of the Modelling-Animation Relationship in Computer Graphics, Chapter 2: Modelling and Animation. PhD, University of Sheffield. Maddock, S. (2002) 3D Computer Graphics. Lecture notes, Computer Science Dept., University of Sheffield. Marks Working Group (2001) ENSFI, Vol.7(2). Marriot, D.G. (1992) Sweeping: A Computer Graphics Modelling Technique. Dissertation, University of Sheffield. McNeill, D. (2002) The Face, Penguin Books. Meinhardt, H. (1998) The algorithmic beauty of sea shells (2nd enl. ed.). Berlin:Springer. Przemyslaw, P. & Fowler, D.R. (1998) Shell models in three dimensions. In: Meinhardt, H. (1998) The algorithmic beauty of sea shells (2nd enl. ed.). Berlin:Springer, ch.10 Rogers, D. & Adams, J. (1990) Mathematical Elements for Computer Graphics. McGraw Hill. Snyder, J. M. (1992) Generative Modeling for Computer Graphics and CAD: Symbolic Shape Design using Interval Analysis. Academic Press. 48

References Thompson, D'A. (1961) On Growth and Form. Dover Publications. Tilley, A.R. & H.Dreyfuss Associates (1993) The Measure of Man and Woman. The Whitney Library of Design. Wainwright, S.A. (1988) Axis and Circumference - The Cylindrical Shape of Plants and Animals. Harvard University Press, London, England. Watt, A. (2000) 3D Computer Graphics (3rd Ed.). Addison Wesley. http01 http://users.tinyworld.co.uk/steven_tubbrit/Workshop/Subdivision/Ear?TSEar http02 http://www.franksilas.com/Ear.htm http03 http://www.genextech.com http04 http://www.highend3d.com/maya/tutorials/modelingears/ http05 http://www.3ddesigner.dk/gallery/3d_16.html http06 http://academic.uofs.edu/student/carlom2/ear.htm http07 http://www-2.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15462/web.01f/assts/

49

Appendix A Ear Model Example

Appendix A Ear Model Example

Cross-sections 0-8

Cross-sections 9-17

Cross-sections 18-26

Cross-sections 27-36

50

Appendix B Ear Variations

Appendix B Ear Variations


Below are sample of the ear variations generated and a brief account of the areas in which they differ compared to Ear 1 shown in Appendix A. Ear2 Helix and anithelix down RHS tangential with the vertical Overall ear shape is more rectangular Ear 3 RHS lobe comes down at a sharper slant More pointed ear top Wider lobe towards bottom of the ear

Ear 4 Higher antihelix in upper region of the ear Higher start of lobe No notch in top RHS

Ear 5 Longer ear shape Helix start more horizontal Lower start of lobe No ear notch

Ear 6 Upper rounded path Antihelical curve at a steeper angle Shorter start of helix Smaller tragus

Ear 7 Pointed ear top Longer ear length Lower start to lobe Straighter anithelix No notch

51

Appendix C Evaluation Questionnaire

Appendix C Evaluation Questionnaire


Question 1 Consider the 12 images in Q1.bmp. The images are comprised of different shaped ears, but only some of them are real life ear shapes. Considering shape ONLY, choose and put into order the six most realistic looking ears. Indicate you choices by placing a number 1-6 (1=most realistic) in the box next to the letter corresponding to your chosen images. Image A Image E Image I Image B Image F Image J Image C Image G Image K Image D Image H Image L

Question 2 Consider the 5 images in Q2.bmp. All of these ears have been computer generated. Considering shape ONLY, place the ears in order, according to which ear closest resembles the shape of a human ear. Indicate your choices by placing a number 1-5 (1=best resemblance) in the box next to the letter corresponding to your chosen image. Image M Image P Image N Image Q Image O

52

Appendix C Evaluation Questionnaire

Question 3 Consider the images in Q3.bmp. Study the image with the red background marked Reference Image. Chose from the remaining 7 images the ear that best resembles the Reference Image ear (by shape ONLY). You may have two choices if you cannot make up your mind. Indicate your choices below by placing the relevant image letters (R,S,T,U,V,W or X) in the boxes provided. 1st choice image (best resemblance): 2nd choice image (optional):

53

Error! Reference source not found.

54

Вам также может понравиться