PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

11
Education POLYMECOAn integrated environment for polygonal mesh analysis and comparison Samuel Silva a,b, , Joaquim Madeira a,b , Beatriz Sousa Santos a,b a Institute of Electronics and Telematics Engineering of Aveiro, University of Aveiro, 3810-193 Aveiro, Portugal b Department of Electronics, Telecommunications and Informatics, University of Aveiro, 3810-193 Aveiro, Portugal article info Article history: Received 22 February 2008 Received in revised form 16 September 2008 Accepted 17 September 2008 Keywords: Mesh analysis Mesh comparison Data visualization abstract Polygonal meshes are used in several application areas to model different objects and structures. Depending on the application, mesh models sometimes have to be processed to, for instance, reduce their complexity (mesh simplification). Such operations introduce differences regarding the original mesh, whose evaluation is of paramount importance when choosing the processing methods to be applied for a particular purpose. Although some mesh analysis and comparison tools are described in the literature, little attention has been given to the way mesh features and mesh comparison results can be visualized. Moreover, particular functionalities have to be made available to enable systematic use and proper data analysis and exploration. POLYMECOa tool for polygonal mesh analysis and comparisonwas designed and developed taking the above objectives into account. It enhances the way users analyze features and compare meshes by providing an integrated environment where various mesh quality measures and several visualization options are available and can be used in a coordinated way, thus leading to greater insight into the visualized data. & 2008 Elsevier Ltd. All rights reserved. 1. Introduction Models defined using polygonal meshes are commonly used in many application scenarios ranging from entertainment to medical imaging, as well as in numerous scientific visualization and engineering applications. With data complexity growing at a fast pace, it is often necessary to process an original mesh model (e.g., created from data obtained with a range scanner) and reduce the number of its faces, thus requiring less storage space and allowing easier manipulation and faster rendering. Other proces- sing operations are usually carried out, for example, to smooth a mesh surface [1] or enhance particular mesh features [2]. Applying such operations results in meshes that are different from their originals: depending on the application it might be important to assess those differences and verify if they are acceptable. Another important issue is the analysis of particular mesh properties, as surface curvature or the quality of the elements (faces) that compose a mesh. For the purpose of mesh analysis and comparison, several measures have been proposed and there are a few tools presented in the literature [3–6] which allow comparing polygonal meshes; they will be briefly described in the following section. After a careful review of those mesh comparison tools and their usual applications, it was clear that they lacked some features deemed important. They provide numerical descriptors, along with colored meshes which depict the data obtained using some computational measures. Nevertheless, it becomes necessary to have a tool which provides an enhanced environment for systematic mesh analysis and comparison, where several meshes can be loaded during the same work session and data compared using a wide range of measures and proper visualization methods. Developers and general users can then easily analyze the results. We describe a polygonal mesh analysis and comparison tool called POLYMECO 1 (Fig. 1) which offers the above mentioned features; a first prototype was presented in Ref. [7]. The main goal of the work carried out is to integrate enhanced functional- ities for interactive visualization and analysis of mesh features and comparison data, in the scope of systematic mesh analysis and comparison. In the following section a short overview of mesh comparison tools that have been proposed in the literature is done. After- wards, the architecture of POLYMECO and its main functionalities ARTICLE IN PRESS Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/cag Computers & Graphics 0097-8493/$ - see front matter & 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.cag.2008.09.014 Corresponding author. Tel.: +351234 370 500; fax: +351234 370 545. E-mail address: [email protected] (S. Silva). 1 A version for test purposes is available at http://www.ieeta.pt/polymeco Computers & Graphics 33 (2009) 181–191

Transcript of PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

Page 1: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

Computers & Graphics 33 (2009) 181–191

Contents lists available at ScienceDirect

Computers & Graphics

0097-84

doi:10.1

� Corr

E-m

journal homepage: www.elsevier.com/locate/cag

Education

POLYMECO—An integrated environment for polygonal mesh analysisand comparison

Samuel Silva a,b,�, Joaquim Madeira a,b, Beatriz Sousa Santos a,b

a Institute of Electronics and Telematics Engineering of Aveiro, University of Aveiro, 3810-193 Aveiro, Portugalb Department of Electronics, Telecommunications and Informatics, University of Aveiro, 3810-193 Aveiro, Portugal

a r t i c l e i n f o

Article history:

Received 22 February 2008

Received in revised form

16 September 2008

Accepted 17 September 2008

Keywords:

Mesh analysis

Mesh comparison

Data visualization

93/$ - see front matter & 2008 Elsevier Ltd. A

016/j.cag.2008.09.014

esponding author. Tel.: +351 234 370 500; fax

ail address: [email protected] (S. Silva).

a b s t r a c t

Polygonal meshes are used in several application areas to model different objects and structures.

Depending on the application, mesh models sometimes have to be processed to, for instance, reduce

their complexity (mesh simplification). Such operations introduce differences regarding the original

mesh, whose evaluation is of paramount importance when choosing the processing methods to be

applied for a particular purpose.

Although some mesh analysis and comparison tools are described in the literature, little attention

has been given to the way mesh features and mesh comparison results can be visualized. Moreover,

particular functionalities have to be made available to enable systematic use and proper data analysis

and exploration.

POLYMECO—a tool for polygonal mesh analysis and comparison—was designed and developed taking

the above objectives into account. It enhances the way users analyze features and compare meshes by

providing an integrated environment where various mesh quality measures and several visualization

options are available and can be used in a coordinated way, thus leading to greater insight into the

visualized data.

& 2008 Elsevier Ltd. All rights reserved.

1. Introduction

Models defined using polygonal meshes are commonly used inmany application scenarios ranging from entertainment tomedical imaging, as well as in numerous scientific visualizationand engineering applications. With data complexity growing at afast pace, it is often necessary to process an original mesh model(e.g., created from data obtained with a range scanner) and reducethe number of its faces, thus requiring less storage space andallowing easier manipulation and faster rendering. Other proces-sing operations are usually carried out, for example, to smooth amesh surface [1] or enhance particular mesh features [2].Applying such operations results in meshes that are differentfrom their originals: depending on the application it might beimportant to assess those differences and verify if they areacceptable. Another important issue is the analysis of particularmesh properties, as surface curvature or the quality of theelements (faces) that compose a mesh.

For the purpose of mesh analysis and comparison, severalmeasures have been proposed and there are a few tools presented

ll rights reserved.

: +351 234 370 545.

in the literature [3–6] which allow comparing polygonal meshes;they will be briefly described in the following section.

After a careful review of those mesh comparison tools and theirusual applications, it was clear that they lacked some featuresdeemed important. They provide numerical descriptors, alongwith colored meshes which depict the data obtained using somecomputational measures. Nevertheless, it becomes necessary tohave a tool which provides an enhanced environment forsystematic mesh analysis and comparison, where several meshescan be loaded during the same work session and data comparedusing a wide range of measures and proper visualization methods.Developers and general users can then easily analyze the results.

We describe a polygonal mesh analysis and comparison toolcalled POLYMECO

1 (Fig. 1) which offers the above mentionedfeatures; a first prototype was presented in Ref. [7]. The maingoal of the work carried out is to integrate enhanced functional-ities for interactive visualization and analysis of mesh featuresand comparison data, in the scope of systematic mesh analysisand comparison.

In the following section a short overview of mesh comparisontools that have been proposed in the literature is done. After-wards, the architecture of POLYMECO and its main functionalities

1 A version for test purposes is available at http://www.ieeta.pt/polymeco

Page 2: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

Fig. 1. User interface of POLYMECO: the distribution of a computed measure (mean curvature) is represented using a colored mesh.

S. Silva et al. / Computers & Graphics 33 (2009) 181–191182

are presented. Then, the results of some preliminary usabilityevaluation tests are presented and some research work in whichPOLYMECO was used is briefly described (as an applicationexample). Finally, some conclusions and ideas for future workare mentioned.

2. Mesh comparison tools

Mesh comparison is usually carried out with the help ofdedicated software tools providing the user with numerical data(e.g., minimum, mean and maximum difference values) and visualinformation (e.g., coloring a mesh according to the differencevalues measured at each vertex), and allowing the user to chooseamong several computational measures. A few such tools, whichmight also allow mesh feature evaluation (e.g., surface curvature),are described in the literature.

Metro, developed by Cignoni et al. [3], allows both numericaland visual mesh comparisons. Among the numerical valuesfurnished is data concerning the input mesh characteristics(number of vertices and faces, surface area, mesh volume, etc.),the minimum and maximum geometric distances between twogiven meshes and their difference in volume. It is also possible toview a mesh colored according to the results obtained. Alsoprovided is the computation of the Hausdorff distance.

The tool described by Zhou et al. [4] introduces someadditional measures (namely, to compute surface curvature) andcare was taken to offer several visualization techniques, includingside-by-side viewing of the compared meshes, box-glyphs andanimations.

MESH, developed by Aspert et al. [5], uses the Hausdorffdistance to measure the difference between two mesh models. Itprovides several numerical values, namely the main character-istics of the input meshes and the minimum, mean, maximumand RMS values of the computed differences. It is also possible toview a mesh colored according to such differences.

Finally, Roy et al. [6] described a tool called MeshDev whichallows the computation of geometric, normal and other attributedifferences such as color or texture. Similarly to the other tools, itprovides several numerical values characterizing the inputmeshes and the obtained results. It is also possible to viewmeshes colored according to such results.

3. POLYMECO

POLYMECO is a tool developed using Cþþ, OpenGL, OpenMesh[8] and the Fox Toolkit [9], which provides an integratedenvironment where it is possible to analyze and compare severalpolygonal meshes at once, and view the data obtained for

Page 3: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

Fig. 2. POLYMECO’s pipeline.

S. Silva et al. / Computers & Graphics 33 (2009) 181–191 183

different computational measures using various representationand visualization options.

The process of analyzing and comparing meshes in POLYMECO

can be described by the pipeline depicted in Fig. 2:

1.

dat

sen

Meshes are loaded.

2. For some of those meshes, selected properties or difference

measures are computed.

3. The obtained data are mapped to suitable representations. 4. The chosen representations are rendered.

The user may change parameters along the pipeline in order to, forexample, choose another mesh property or difference measure, orchange the representation.

3.1. Computational measures

POLYMECO provides several computational measures whichsupport mesh analysis and comparison. Two types of measuresare provided: intrinsic properties and difference measures.

Intrinsic2 properties allow measuring a particular property of amesh. POLYMECO provides the following:

Smoothness: for each vertex, the distance to the centroid of itsdirect neighbors (one-ring vertices). � Triangle quality: the minimum angle for each mesh face, which

gives an idea of how close it is to the equilateral; as well as themeasures proposed by Shewchuk [10], Bhatia [11] and Grafet al. [12].

� Mean, Gaussian and principal curvatures: using the methods

proposed by Theisel et al. [13].

� Saliency: using the method proposed by Lee et al. [14] which

identifies mesh areas judged to be of great interest, i.e.,presenting a larger number of features.

Difference measures allow the comparison of properties betweenmeshes. POLYMECO provides the following:

Geometric distance and normal deviation: using the methodsproposed by Roy et al. [6]. � Mean and Gaussian curvature deviations: using the methods

proposed by Theisel et al. [13] for curvature computation andthe method proposed by Roy et al. [6] for surface sampling.

� Visual differences: using the method proposed by Karni et al.

[15] and its enhancements proposed by Sorkine et al. [16].

� Mixed measure: based on the results presented in Sousa Santos

et al. [17], mixing geometric distance and normal deviationusing a blending factor which depends on the simplificationratio.

2 Here used in the sense of a property which is directly computed from mesh

a, irrespective of any other reference mesh; not in the differential geometry

se as in ‘‘intrinsic curvature’’.

Notice that, although this might be unusual, POLYMECO does notimpose any constraints on the comparison between meshesrepresenting distinct objects.

3.2. Representations

The easiest way for providing the user with information aboutthe computed measures is by presenting some numerical valuesthat characterize them (e.g., minimum, mean and maximumvalues) and/or the meshes (e.g., number of vertices and faces,bounding box diagonal and surface area) for which they werecomputed.

Another simple approach is that of depicting a mesh andallowing the user to visually inspect it using different projections,views or rendering options (e.g., flat shading, wireframe, etc.).

Apart from these, POLYMECO provides the set of representationsdescribed next.

3.2.1. Colored mesh

Through a colored mesh it is possible to show the user thedistribution of the data obtained with a particular measure: eachvertex/face is colored according to the corresponding value. Thiscoloring can be done by mapping the values range to a particularcolor scale.

A usable color scale must respect a set of principles and beproperly chosen in order to enhance the insight it provides on thedata it refers to [18]. It is also important to understand itsdisadvantages. For instance, the commonly used rainbow colorscale is not the proper choice in many application scenariosaccording to Rogowitz et al. [19] and, more recently, Borlandet al. [20].

As a first approach towards a proper use of color in POLYMECO,several color scales described in the literature are provided,namely the rainbow, greyscale, linearized greyscale, blue-to-cyan,blue-to-yellow, linearized optimal [21] and heated-object colorscales.

Currently, the user is allowed to choose one color scale fromthis set: this is still a naive approach to a correct use of color as itfully depends on user judgment, nevertheless it provides somealternatives which can be explored.

Fig. 3(a) and (b) present the normal deviation values distribu-tion using rainbow and blue to cyan color scales. Fig. 3(c) showspart of a mesh colored according to the computed triangle quality.

For some computational measures (such as surface curvature)it may be important to display not only absolute values but alsodirections. This is performed by drawing a small line segmentcentered on the corresponding vertex and having the appropriatedirection, which can be enabled or disabled at any time. Fig. 4shows the directions of the second principal curvature super-imposed on a colored mesh.

3.2.2. Superimposed meshes

It is possible to visualize an original reference mesh super-imposed on one of its processed versions. A first choice is to

Page 4: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

Fig. 3. Computed results are presented using a colored mesh: (a) normal deviation using a rainbow color scale and (b) a blue to cyan color scale; (c) triangle quality using a

rainbow color scale and flat shading to color the faces according to the minimum angle.

Fig. 4. Principal curvature direction (k2) computed at each vertex.

Fig. 5. Mesh superposition. Top: original and processed meshes; bottom: mesh

superposition using solid rendering depicting a region where the original mesh

overlaps the processed one, and mesh superposition with transparency applied to

the original mesh, allowing volume comparison.

S. Silva et al. / Computers & Graphics 33 (2009) 181–191184

render both in a ‘‘solid’’ way, using different colors. This allowsidentifying areas where, for example, the processed mesh overlapsthe original.

An alternative is to render the original mesh with some degreeof transparency, in order to let the user perceive any differences involume between the two. Fig. 5 shows these two alternatives.

In addition, it is also possible to visualize both meshesrendered in wireframe.

3.2.3. Statistical representations

Although mesh coloring gives a good idea of the distribution ofthe values obtained using a computational measure, showingwhere they occur, a global idea of this distribution can be difficultto obtain, due to the impossibility of viewing the whole meshsimultaneously.

The provided statistical representations may help to betterunderstand and compare distributions of computed measures:

Histograms—Histograms provide complementary information:the user can, at a glance, get an idea of the globalcharacteristics of the computed data distribution.

A problem that may occur when assigning a range of valuesto a color scale is that of range stretching: if outliers arepresent in the data, they may stretch the range too much andnot allow perceptible differences between close values. Inorder to tackle this problem, the histogram widget provides away of choosing the range of values that will be represented by

the chosen color scale. By using a slider, the user can choosea high saturation value, i.e., all values above it will berepresented using the color to which the maximum value ismapped. A similar slider is available for defining a lowsaturation value, all values below it being represented by thecolor to which the minimum is mapped. Thus, the first class ofthe histogram will correspond to the low saturated values andthe last class to the high saturated values.

Fig. 6 illustrates this procedure showing a mesh coloredaccording to its mean curvature. Due to the presence of outliersin the data the curvature representation is not perceptible. By

Page 5: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

Fig. 6. High saturation value defined to better visualize the representation of

curvature over the mesh. Top, original colored mesh and colored mesh with high

saturation value definition; bottom, the resulting histogram.

Fig. 7. Top, the same mesh colored using three color scales depicting the same

results obtained for the geometric distance. Bottom, same mesh but now with the

color mapping modified in order to highlight the surface regions with larger

distance to the reference mesh.

S. Silva et al. / Computers & Graphics 33 (2009) 181–191 185

defining a high saturation value using the slider provided onthe histogram widget, it is possible to better perceive thecurvature distribution. Note that the histogram bars are alsocolored with the chosen color mapping.

This feature can also be used to highlight values in a coloredmesh. Fig. 7 (top) shows the same mesh colored using differentcolor scales, depicting the geometric distance to a referencemesh. Bottom, the same results are presented but the colormapping has been modified by adjusting the high saturation

value. Notice how surface regions with larger associatedgeometric distance are easily identified.

� Boxplots—Boxplots are very useful to compare data sets, since

they allow comparing and analyzing the symmetries andranges of the data, and detect the presence of outliers (Fig. 8);thus, they can help set the saturation values on the histogramwidget.

3.3. Visualization modes

Visualization modes use the available representations in orderto provide ways of better analyzing and comparing mesh proper-ties. The main visualization modes provided by POLYMECO arepresented next.

3.3.1. Original vs. processed vs. colored mesh

In this visualization mode an original mesh, a processed meshand a mesh colored according to the selected measure arepresented. This allows the visual comparison of the two meshes,for example, to quickly identify areas where computed values arehigher/lower, and then perform a more detailed analysis.

It is possible to manipulate any of the meshes and change itsposition, orientation and scale factor. This manipulation is appliedto all displayed meshes. Fig. 9(a) shows this visualization mode.

3.3.2. Extended results

This visualization mode allows the simultaneous presentationof a colored mesh, a histogram and a boxplot depicting the dataobtained using the selected measure. It is possible to define highand low saturation values, using the sliders below the histogram,as previously described, in order to enhance the way results arepresented using the colored mesh. Fig. 9(b) shows this visualiza-tion mode being used to analyze the normal deviation betweentwo meshes.

3.3.3. Simultaneous viewing of different measures

This mode allows the user to visualize, for one mesh, the datadistributions obtained with different measures. This mode canhelp the user to have a clearer idea of the obtained data, andprovides the possibility of comparing between them and finding,for example, similarities in their behavior. The presented meshesremain synchronized, i.e., with similar position, orientation andscale factor.

3.3.4. Features comparison

This mode (Fig. 9(c)) allows the visualization of data distribu-tions obtained with the same computational measure for severalmeshes. This can be useful to study different processingalgorithms and compare the obtained results. Once again, thepresented meshes remain synchronized.

When using this visualization mode one must not forgetimportant details. Each colored mesh uses the full range of thecolor scale to represent the data, i.e., for each colored mesh the‘‘last’’ color of the color scale is used to represent the maximumvalue obtained for that particular mesh. This kind of coloring canstill be useful to compare value incidence in each mesh, but it isnot possible to directly compare distributions among all coloredmeshes.

In order to allow this kind of comparison (not possible withany of the tools described earlier), POLYMECO provides the option ofusing a common color mapping for all meshes. The last color ofthe color scale is now used to represent the maximum obtainedvalue among all the compared meshes. The same happens withthe histograms. The minimum is always considered to be zero asall representations are unsigned.

Page 6: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

Fig. 9. Some visualization modes available in POLYMECO: (a) original vs. processed vs. colored mesh; (b) extended results; (c) feature comparison.

Fig. 8. Comparison using boxplots, as well as numerical values, of the data obtained by computing the same measure for different meshes.

S. Silva et al. / Computers & Graphics 33 (2009) 181–191186

Fig. 10(a) allows comparing results using an individualcolor map for each mesh. Notice that it is not clear whichis the one that has higher associated values. In Fig. 10(b)a common color map is used to color all the meshes, thusallowing for an easier and more accurate comparison.

Side-by-side comparison can also be done using histograms:again, direct comparison among them can only be correctlyperformed when using a common value range. Fig. 11 shows thehistograms drawn using their individual ranges, and then using acommon value range.

Page 7: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

S. Silva et al. / Computers & Graphics 33 (2009) 181–191 187

Comparison can also be done by using boxplots as shown inFig. 8. With boxplots it is easy to compare the ranges andsymmetry among all the results.

3.4. Additional features

Besides different representations and visualization modesPOLYMECO provides a set of additional features in order to helpinspecting meshes and results more efficiently, and allowgathering the resulting data for further analysis and presentation.These features are presented next.

Fig. 10. Comparison using colored meshes of the results obtained by computing

the same measure for different meshes: (a) each mesh colored using an individual

color map; (b) all meshes colored using a common color map allowing direct

comparison among them.

Fig. 11. Comparison using histograms of the data obtained with the same measure

for different meshes: (a) the histograms are drawn using individual ranges; (b) all

histograms are drawn using a common value range allowing direct comparison

among them.

Fig. 12. A vertex was selected with the Location Probe. Mesh detail showing that verte

showing information about geometry (b), topology (c) and computed measure associat

3.4.1. Location probe

A probe tool allows the user to obtain information regarding aparticular mesh vertex. The provided information concernsgeometry (vertex coordinates), topology (vertex neighborhoodsand their properties) and associated data values, such as thoseobtained using a particular measure.

Fig. 12 shows some details of the Location Probe window and itsusage. When a mesh vertex is selected, a green sphere appears atits location along with a highlight of its neighbors. The user candefine the number of visible neighborhood rings on the Topologytab and read information about each neighborhood (one-ring,two-ring, etc.), such as the number of vertices it includes. Theinformation concerning vertex coordinates can be found in theGeometry tab and the value computed for it, using one ofthe measures, is presented in the Results tab.

3.4.2. Light source customization

Scene illumination can play an important role in the analysis ofa mesh surface and has been used in applications, such asthe automotive industry, to inspect the quality of polygonalmeshes [22].

As a first step, POLYMECO provides the user with severalfunctionalities to view and change the light source properties ofthe scene. It is possible to increase the number of light sources(up to three) and control their position as well as the ambient,diffuse and specular components. Light source orientation isalways towards the origin, as can be seen in the representationappearing on the top of the window presented in Fig. 13 wherecones represent the light sources and the sphere represents theilluminated object. The chosen light source properties are appliedto the sphere thus allowing the user to have a better perception ofthe illumination results. Due to performance issues, speciallywhen working with complex meshes, light source changes areonly applied to the visualized mesh when the user presses theApply Settings button.

The light source properties set by the user are only appliedwhen viewing original or processed meshes. In order not tointerfere with the representations which use color (light sourcecolor could change perceived mesh surface colors), the lightsource properties for those scenes are pre-defined and cannot bechanged.

A desirable improvement would be to enhance this feature inorder to allow surface examination using isophotes [22], in whichcase, the light sources ought to be modeled differently to obtainthe desired effects on the surface.

3.4.3. Workspace saving

A work session in POLYMECO can involve a considerable numberof meshes and the computation of many measures which, for

x along with its direct-neighborhood (a), and the three tabs on the Location Probe

ed with it (d).

Page 8: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

Fig. 13. Window where users can customize light source properties.

S. Silva et al. / Computers & Graphics 33 (2009) 181–191188

complex meshes, can take a long time. Thus, it is important tostore the contents of the workspace for future analysis or to beable to resume the work at a later time: POLYMECO allows completeworkspace loading and saving. A summary of the data containedin the workspace is present in the main workspace file which iswritten in XML, and it is possible to use XSLT style sheets to viewit in, for example, a web browser. This allows viewing the mainresults on any computer, even without POLYMECO installed.

3.4.4. Data export

It may be necessary to compare the values obtained for eachvertex/face using a particular measure with theoretical values(e.g., curvature) or to entail a more elaborate statistical analysis.While performing systematic analysis and comparison of meshprocessing algorithms a common task is that of building tableswith the data obtained with the computed measures. Yet, theusage of a large number of meshes and measures turns this into atiresome task.

To cope with this POLYMECO provides data export. Whenexporting data from a particular measure the values computedfor each vertex/face are written to a file; when exporting the dataobtained by computing several measures for a single mesh a tableis stored containing the minimum, mean, maximum and variancevalues for each measure; finally, when exporting the dataconcerning several measures computed for several meshes, atable is stored containing the mean values for each measure andfor each mesh. All these files can then be opened, for example, in aspreadsheet tool.

Table 1Users opinion on general and specific aspects of POLYMECO (in a scale of 1-complete

disagreement to 4-complete agreement)

Features Median

Is easy to learn 4

Organization is understandable 3

Response time is reasonable 4

Information layout is adequate 3

Terminology is consistent 3

Text is easy to read 4

Messages are clear 3

Feedback is adequate 3

4. User evaluation

User evaluation is of paramount importance when developingan interactive tool.

A formative evaluation intended to inform the development ofa new version of POLYMECO has been carried out and allowed thedetection of some problems, providing clues to improve somefeatures and gathering new ideas for future versions.

Until now two types of evaluation have been performed:formal and informal evaluation.

A brief description of the used methods and results ispresented next. For a more detailed explanation see Sousa Santoset al. [23].

4.1. Formal evaluation

Heuristic evaluation was performed providing a list of usabilityproblems, severity ratings and clues to their solution.

Observation sessions were performed with the participation of35 users who had to complete a list of tasks including, forexample:

Load a given mesh; � Set the scene illumination parameters; � Inspect the mesh and locate a particular detail; � Obtain a colored mesh using a given measure; � Select a given color scale; � Find the value of the measure at a given vertex; � Obtain a new color mapping for the same color scale; � Compare results for meshes obtained with different processing

methods using a given measure.

In general all users managed to finish the tasks in a very shorttime (a few seconds). Only two of the tasks took longer or werenot completed. They were related to the Location Probe: whentrying to obtain information regarding a particular mesh vertex,the users had some difficulty in selecting it. This result clearlyreveals a problem which needs further investigation. A possiblesolution can be that of activating the wireframe view.

After completing the tasks, users gave their opinion concerningsome tool features through a questionnaire. Table 1 shows themedian values for each item expressed in a scale from 1 to 4.

These values convey a positive opinion of POLYMECO, eventhough it was the first time all users worked with such a tool.

4.2. Informal evaluation

A less structured approach was used for informal evaluationperformed with 20 users. In an initial 2 h session the goals andmain features of POLYMECO were presented. Then, a period ofquestions and answers was allowed so that participants couldbetter understand the overall purpose of the tool and the intendedevaluation. After this, they installed the prototype on theircomputers and were given some time to use it on their own.Users were also challenged to think how they would use the tool ifthey had to conduct research concerning mesh processingmethods. Then they were asked for suggestions on how toimprove the usability of the tool and on which new usefulfunctionalities should be included.

A week later, in another session, the users were asked tofurther comment on the tool and to answer the same ques-tionnaire about POLYMECO and its features.

Page 9: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

S. Silva et al. / Computers & Graphics 33 (2009) 181–191 189

During the evaluation sessions POLYMECO was used in a morecommitted manner than we had previously anticipated, and usersgave plenty of suggestions concerning interesting new function-ality to include or ways to improve the usability of the tool. Theresults concerning their reaction and opinion about POLYMECO,collected through the questionnaire, were very similar to theresults obtained from the formal evaluation participants, convey-ing a positive opinion, as well.

5. Application example

A task which can be performed using POLYMECO is thecomparison among different mesh simplification methods inorder to identify the one which provides meshes of greaterquality. As described by Silva et al. [24], POLYMECO was used tocompare between two simplification methods: QSlim and NSA.

The analysis started with a visual inspection of the meshes usingdifferent light source configurations which allowed the detection ofsome surface artifacts. Then, several measures were computed andthe results analyzed using different visualization modes, inparticular the Feature Comparison visualization mode whichallowed an easy comparison among results using colored meshes.

For the mesh models used, QSlim obtained the smallestgeometric distance for all simplified meshes but mesh quality, asexpressed by the triangle quality measures (minimum angle andthose proposed by Shewchuk [10], Bhatia [11] and Graf et al.[12]),was, in general, favorable to the meshes obtained using NSA. Thisshows the importance of analyzing mesh quality with more than onecomputational measure and how important it is to have systematicways of visualizing meshes and the distribution of measure values.

Fig. 14 shows the geometric distance for six models createdusing NSA and QSlim and three simplification levels. By using acommon color map it is possible to directly compare the modelsand verify which ones have the largest distances to the original

Fig. 14. Geometric distance mapped on the original model for six simplified versions

(NSA’s). Although a widely used measure, the geometric distancedid not show evidence of the problems which can be observed inFig. 15: the triangle quality shows that the models created withQSlim have triangles with lower quality, evidence that somethingmay be wrong, and a visual inspection reveals strange triangula-tions covering the center hole.

Although clearly needing further study, this analysis seems toshow that QSlim might not be the proper choice for some kinds ofmesh models due to the resulting artifacts and poor element(face) quality.

The main contribution of POLYMECO was clearly the way itsintegrated environment allowed easy computation of measuresfor several meshes at once, while providing interactive explora-tion of the obtained data using the available visualization modes.In any other tool described in the literature for mesh analysis andcomparison, such comparison would have been more difficult.One must not forget that in those tools only two meshes arecompared at a time and there is no possibility of comparingamong the results obtained for a set of meshes, except for thenumerical values, or a third party application is used to visualizethe colored meshes with the already mentioned problem ofindependent color mappings.

Having all the computational measures, meshes, and visualiza-tion options in one tool motivated data exploration, which webelieve might promote a more complete and accurate analysisfostering further insight.

For a more detailed description of this case study and a morecomplete analysis of the results see Silva et al. [24].

6. Availability and community contributions

The current version of POLYMECO is freely available on the webat http://www.ieeta.pt/polymeco, as well as some supportdocumentation and a discussion forum.

of a model, obtained with NSA and QSlim, depicted using a common color map.

Page 10: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

Fig. 15. Triangle quality for the same six models presented in Fig. 14, mapped on the simplified models and depicted using colored models and histograms. Equilateral

triangles are presented in blue and needle/flat triangles in red.

S. Silva et al. / Computers & Graphics 33 (2009) 181–191190

It is our purpose to open POLYMECO to external contributionswhich, we believe, will result in an improved and more usefultool.

POLYMECO’s main features (visualization modes, informationwindows, computational measures and representations) aredeveloped as plugins. This allows users to develop and integratetheir own plugins in POLYMECO, e.g., to add a new metric. A ‘‘PluginKit’’ is freely available which provides a workspace for plugindevelopment along with some examples of each kind ofplugin supported.

Also, if developers intend to improve existing functionalities ormake changes in the core code of POLYMECO, the source code can berequested.

7. Conclusions and future work

POLYMECO has several innovative features that distinguish itfrom similar tools presented in the literature:

1.

Integrated environment where several meshes can be ana-lyzed/compared simultaneously.

2.

Wider range of computational measures. 3. Customization of light source properties. 4. Several data representations and visualization modes to

provide alternative visualizations of the data.

5. Feature comparison using common color mapping. 6. Location probe to obtain specific information about the

computed data.

7. Workspace saving and data export.

The integrated environment allows working with several meshessimultaneously, thus speeding the analysis and comparisonprocess. After loading all the meshes, the user can easily compute

several measures and analyze the obtained data. An importantfeature is that no third-party application is needed to visualize thedata, as happens with other tools, such as MeshDev [6].

While working with representations using color (severalalternative color scales are available), the user can adjust thecolor mapping when in the presence of data containing outliers(in order to eliminate them from the color mapping) or tohighlight specific values.

Among the available visualization modes the Feature Compar-

ison mode is of paramount importance, as it allows comparingmeshes using color representations (or histograms). This isperformed by allowing the definition of a common color mappingamong all meshes. Without this innovative feature coloredmeshes can only be used to compare measures incidence amongmeshes, but never their relative values, as is performed in [4].

By providing a location probe, POLYMECO allows the user toobtain information regarding vertices, namely their coordinates,neighborhood and associated values according to a measure,which is a feature not available in any of the tools described in theliterature.

Performing mesh analysis and comparison may require storingthe computed data for future reference or to continue the analysislater. As some measures take quite some time to compute, itwould be a tedious task to compute them whenever they werenecessary. For this reason, POLYMECO allows saving the currentworkspace (i.e., all loaded meshes and measures) and restore itlater. It is also possible to export the data obtained to allow, forexample, further analysis using a different tool or to build tablesfor data comparison and presentation.

The presented application example, as well as research workcarried out by other authors (see Jacka et al. [25], Silva et al. [26]and Distler [27]), show that POLYMECO is, indeed, a helpful tool inits field. Users have expressed their appreciation towardsPOLYMECO, stating that one of its advantages is the fact that it

Page 11: PolyMeCo—An integrated environment for polygonal mesh analysis and comparison

ARTICLE IN PRESS

S. Silva et al. / Computers & Graphics 33 (2009) 181–191 191

allows experimenting with the different measures and visualiza-tion modes in a very easy way.

By having a plugin based architecture, POLYMECO also provides aclean and easy way of extending its features. We believe that allthe characteristics described above establish POLYMECO as a tool forsystematic mesh analysis and comparison, not only for meshprocessing algorithm developers but also for those who performmesh processing for particular purposes. Still, it can be enhancedin many ways.

The Location Probe can be improved in order to provideinformation regarding all the loaded meshes (not only thosedepicting analysis/comparison data).

New computational measures may be added. All the meshcomparisons performed in POLYMECO consider that the comparedmeshes have their principal axes aligned and that all differencesare due to surface distortion. Therefore, a mesh compared with aversion of itself rotated/translated in 3D will result in significantdifferences, e.g., large geometric distances when the difference isonly due to affine transformations. These differences should bereported to the user, but stating their nature. To deal with this, itmight be a good idea to use methods such as principal componentanalysis [28] and the extended Gaussian image [29,30]. It wouldalso be interesting to test if 3D shape descriptors [31,32], usuallyused in retrieving meshes from databases, can be used to comparepolygonal meshes. Another interesting feature to add might bethat of spectral analysis of mesh surfaces [33,34], in a similarapproach to that provided by Fourier analysis regarding, forexample, audio signals.

It would be desirable that POLYMECO somehow suggested themore appropriate color scale for each particular case based,among others, on the spectral features of the data and on the typeof task the user wants to accomplish [35]. This would be animportant step forward towards a more complete application ofthe principles described in Silva et al. [18].

Acknowledgments

The authors would like to thank Michael Roy for providing thesource code for MeshDev and all the reviewers for their valuablecomments and suggestions.

The first author would like to thank research unit 127/94 IEETAof the University of Aveiro for the grant that allowed his work.

References

[1] Taubin G. Geometric signal processing on polygonal meshes. In: Eurographics2000—state-of-the-art report, Interlaken, Switzerland, 2000.

[2] Cignoni P, Scopigno R, Tarini M. A simple normal enhancement technique forinteractive non-photorealistic renderings. Computers & Graphics 2005;29(1):125–33.

[3] Cignoni P, Rocchini C, Scopigno R. Metro: measuring error on simplifiedsurfaces. Computer Graphics Forum 1998;17(2):167–74.

[4] Zhou L, Pang A. Metrics and visualization tools for surface mesh comparison.In: Proceedings of the SPIE 2001, visual data exploration and analysis VIII,vol. 4302, 2001. p. 99–110.

[5] Aspert N, Santa-Cruz D, Ebrahimi T. MESH: measuring errors betweensurfaces using the Hausdorff distance. In: Proceedings of the IEEE interna-tional conference on multimedia and expo 2002, Lausanne, Switzerland, vol.1, 2002. p. 705–8.

[6] Roy M, Foufou S, Truchetet F. Mesh comparison using attribute deviationmetric. International Journal of Image and Graphics 2004;4(1):127–40.

[7] Silva S, Madeira J, Sousa Santos B. POLYMECO—a polygonal mesh comparisontool. In: Proceedings of the 9th international conference on informationvisualization (IV05), London, UK. IEEE Computer Society; 2005. p. 842–7.

[8] Botsch M, Steinberg S, Bischoff S, Kobbelt L. OpenMesh—a generic andefficient polygon mesh data structure. In: First OpenSG symposium,Darmstadt, Germany, 2002.

[9] Fox toolkit, in hhttp://www.fox-toolkit.orgi (online October 2008).[10] Shewchuk JR. What is a good linear element? Interpolation, conditioning, and

quality measures. In: Proceedings of the 11th international meshing round-table; 2002. p. 115–26.

[11] Bhatia RP, Lawrence KL. Two-dimensional finite element mesh generationbased on stripwise automatic triangulation. Computers and Structures1990;36:309–19.

[12] Graf H, Serna SP, Stork A. Adaptive quality meshing for on-the-fly volumetricmesh manipulations within virtual environments. In: Proceedings of the2006 IEEE international conference virtual environments, human–computerinterfaces and measurement systems; 2006. p. 178–83.

[13] Theisel H, Rossl C, Zayer R, Seidel H-P. Normal based estimation ofthe curvature tensor for triangular meshes. In: Proceedings of the12th Pacific conference on computer graphics and applications; 2004.p. 288–97.

[14] Lee C, Varshney A, Jacobs D. Mesh saliency. In: Proceedings of the SIGGRAPH;2005. p. 659–66.

[15] Karni Z, Gotsman C. Spectral compression of mesh geometry. In: Proceedingsof the SIGGRAPH; 2000. p. 279–86.

[16] Sorkine O, Cohen-Or D, Toledo S. High-pass quantization for mesh encoding.In: Proceedings of the Eurographics symposium on geometry processing;2003. p. 42–51.

[17] Sousa Santos B, Silva S, Ferreira C, Madeira J. Comparison of methods for thesimplification of mesh models of the lungs using quality indices and anobserver study. In: Proceedings of the third international conference onmedical information visualization—biomedical visualization (MediVis05);2005. p. 15–21.

[18] Silva S, Madeira J, Sousa Santos B. There is more to color scales than meets theeye: a review on the use of color in visualization. In: Proceedings of the 11thinternational conference on information visualization (IV07), Zurich, Switzer-land. IEEE Computer Society; 2007. p. 943–50.

[19] Rogowitz B, Treinish L. Data visualization: the end of the rainbow. IEEESpectrum 1998;35(12):52–9.

[20] Borland D, Taylor R. Rainbow color map (still) considered harmful. IEEEComputer Graphics & Applications 2007;27(2):14–7.

[21] Levkowitz H, Herman G. Color scales for image data. IEEE Computer Graphics& Applications 1992;12(1):72–80.

[22] Botsch M, Pauly M, Rossl C, Bischoff S, Kobbelt L. Geometric modeling basedon triangle meshes. In: Eurographics 2006—tutorials, Vienna, Austria;2006.

[23] Sousa Santos B, Silva S, Teixeira L, Ferreira C, Dias P, Madeira J. Preliminaryevaluation of POLYMECO: a visualization based tool for mesh analysisand comparison. In: Proceedings of geometric modeling and imaging2007—new advances, Zurich, Switzerland. IEEE Computer Society; 2007.p. 133–9.

[24] Silva S, Silva F, Madeira J, Sousa Santos B. Evaluation of mesh simplificationalgorithms using POLYMECO: a case study. In: Proceedings of the SPIE.Visualization and data analysis 2007, San Jose, California, USA, vol. 6495,p. 54950D, 2007.

[25] Jacka D, Reid A, Merry B, Gain J. A comparison of linear skinning techniquesfor character animation. In: Proceedings of the AFRIGRAPH; 2007. p. 177–86.

[26] Silva F. NSA algorithm: geometrical vs. visual quality. In: Internationalconference computational science and its applications ICCSA 2007; 2007.p. 515–23.

[27] Distler P. Beschreibung und Bewertung von Algorithmen fur die Tesselierungvon CAD-Modellen. Diplom-Arbeit, Fachbereich Maschinenbau, TU Darm-stadt, Germany, 2007.

[28] Petrou M, Bosdogianni P. Image processing: the fundamentals. New York:Wiley; 1999.

[29] Horn BKP. Extended Gaussian images. Proceedings of IEEE 1984;72(12):1671–86.

[30] Sun C, Sherrah J. 3D symmetry detection using the extended Gaussian image.IEEE Transactions on Pattern Analysis and Machine Intelligence 1997;19(2):164–8.

[31] Bustos B, Keim D, Saupe D, Schreck T, Vranic D. An experimental effectivenesscomparison of methods for 3D similarity search. International Journal onDigital Libraries 2006;6(1):39–54.

[32] Reuter M, Wolter F-E, Peinecke N. Laplace–Beltrami spectra as shape-DNA ofsurfaces and solids. Computer-Aided Design 2006;38:342–66.

[33] Pauly M, Gross M. Spectral processing of point-sampled geometry. In:Proceedings of the SIGGRAPH; 2001. p. 379–86.

[34] Sorkine O. Laplacian mesh processing. In: Eurographics 2005—state-of-the-art report, Dublin, Ireland, 2005.

[35] Bergman L, Rogowitz B, Treinish L. A rule-based tool for assisting color mapselection. In: Proceedings of IEEE visualization; 1995. p. 118–25.