Evaluating the Quality of Triangle, Quadrilateral, and Hybrid Meshes Before and After Refinement

Similar documents
February Regional Geometry Team: Question #1

PROPERTIES OF TRIANGLES AND QUADRILATERALS (plus polygons in general)

Indiana State Math Contest Geometry

The scale factor between the blue diamond and the green diamond is, so the ratio of their areas is.

Geometry Unit 6 Properties of Quadrilaterals Classifying Polygons Review

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

Plot four points A, B, C and D on the grid to make a rectangle ABCD of length 6 cm and width 4 cm. (2)

Grade VIII. Mathematics Geometry Notes. #GrowWithGreen

2nd Semester Exam Review

Mgr. ubomíra Tomková GEOMETRY

Geometry. Geometry is one of the most important topics of Quantitative Aptitude section.

STANDARDS OF LEARNING CONTENT REVIEW NOTES GEOMETRY. 3 rd Nine Weeks,

The National Strategies Secondary Mathematics exemplification: Y8, 9

Cambridge Essentials Mathematics Core 9 GM1.1 Answers. 1 a

Lesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117

Understanding Quadrilaterals

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

GCSE LINKED PAIR PILOT 4363/02 METHODS IN MATHEMATICS UNIT 1: Methods (Non-Calculator) HIGHER TIER

Note: For all questions, answer (E) NOTA means none of the above answers is correct. Unless otherwise specified, all angles are measured in degrees.

PROPERTIES OF TRIANGLES AND QUADRILATERALS

EOC Review: Practice: 1. In the circle below, AB = 2BC. What is the probability of hitting the shaded region with a random dart?

DEFINITIONS. Perpendicular Two lines are called perpendicular if they form a right angle.

Geometry Final Exam - Study Guide

10.2 Trapezoids, Rhombi, and Kites

Lesson Plan #39. 2) Students will be able to find the sum of the measures of the exterior angles of a triangle.

January Regional Geometry Team: Question #1. January Regional Geometry Team: Question #2

Select the best answer. Bubble the corresponding choice on your scantron. Team 13. Geometry

Test Review: Geometry I TEST DATE: ALL CLASSES TUESDAY OCTOBER 6

Suggested problems - solutions

Lesson 1. Unit 2 Practice Problems. Problem 2. Problem 1. Solution 1, 4, 5. Solution. Problem 3

February Regional Geometry Individual Test

9.4. Inscribed Angles

All numbered readings are from Stillwell s The four pillars of geometry.

Geometry. Oklahoma Math Day INSTRUCTIONS:

GEOMETRY COORDINATE GEOMETRY Proofs

Guard Placement For Wireless Localization

The Problem of Calculating Vertex Normals for Unevenly Subdivided Smooth Surfaces

Adjacency Data Structures

Chapter 10 Similarity

GEOMETRY & INEQUALITIES. (1) State the Triangle Inequality. In addition, give an argument explaining why it should be true.

Name of Lecturer: Mr. J.Agius. Lesson 46. Chapter 9: Angles and Shapes

Points, lines, angles

12.4 Rotations. Learning Objectives. Review Queue. Defining Rotations Rotations

SHAPE, SPACE and MEASUREMENT

Yimin Math Centre. 6.1 Properties of geometrical figures Recognising plane shapes... 1

Spiral Back: Evaluate the following when x = -2 and y = 3 1) -4y x + (3+ x 2 ) Solve the following equations: 2) x 6 = -20 3) 2x 2 = -16 4)

Exercise 1. Exercise 2. MAT 012 SS218 Worksheet 9 Sections Name: Consider the triangle drawn below. C. c a. A b

Geometry. AIR Study Guide

Acute Triangulations of Polygons

Chapter 11 Review. Period:

Angles of Polygons. Essential Question What is the sum of the measures of the interior angles of a polygon?

SURFACE WATER MODELING SYSTEM. 2. Change to the Data Files Folder and open the file poway1.xyz.

STANDARDS OF LEARNING CONTENT REVIEW NOTES HONORS GEOMETRY. 3 rd Nine Weeks,

Geometry: Semester 2 Practice Final Unofficial Worked Out Solutions by Earl Whitney

Polygonal Meshes: Representing 3D Objects

Elementary Planar Geometry

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

Math 3315: Geometry Vocabulary Review Human Dictionary: WORD BANK

Harvard-MIT Mathematics Tournament February 19, 2005

Chapter 10 Polygons and Area

Convex polygon - a polygon such that no line containing a side of the polygon will contain a point in the interior of the polygon.

Math 6: Unit 7: Geometry Notes 2-Dimensional Figures

SOME IMPORTANT PROPERTIES/CONCEPTS OF GEOMETRY (Compiled by Ronnie Bansal)

Section 12.1 Translations and Rotations

CCGPS UNIT 5 Semester 2 COORDINATE ALGEBRA Page 1 of 38. Transformations in the Coordinate Plane

8 Quadrilaterals. Before

For Exercises 1 4, follow these directions. Use the given side lengths.

Park Forest Math Team. Meet #3. Self-study Packet

The Humble Tetrahedron

Minimizing the footprint of your laptop (on your bedside table)

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Lofting 3D Shapes. Abstract

Appendix E. Plane Geometry

Unit Lesson Plan: Measuring Length and Area: Area of shapes

Unit 7. Transformations

Computational Geometry: Lecture 5

CS 532: 3D Computer Vision 14 th Set of Notes

CS 177 Homework 1. Julian Panetta. October 22, We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F:

Created By Shelley Snead January Modified and Animated By Chris Headlee June 2010

Surface Simplification Using Quadric Error Metrics

2013 Four-by-Four Competition Thursday, January 31st, Round Four-by-Four Competition Thursday, January 31st, 2013.

Tricurve Basics January 10, Tricurve Basics Timothy C. Lexen Copyright 2018

Congruent triangles/polygons : All pairs of corresponding parts are congruent; if two figures have the same size and shape.

Jim Sauerberg and Alan Tarr

Contents. Lines, angles and polygons: Parallel lines and angles. Triangles. Quadrilaterals. Angles in polygons. Congruence.

CBSE X Mathematics 2012 Solution (SET 1) Section C

A-CED Sum of angles in a polygon

GEOMETRIC MOVEMENTS IN A PLANE

COMP Preliminaries Jan. 6, 2015

Advanced Computer Graphics

Log1 Contest Round 2 Theta Circles, Parabolas and Polygons. 4 points each

Angles. An angle is: the union of two rays having a common vertex.

Lesson Polygons

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Geometry 1-1. Non-collinear Points not on the same line. Need at least 3 points to be non-collinear since two points are always collinear

Math 2 Plane Geometry part 1 Unit Updated January 13, 2017

Pre-Algebra, Unit 10: Measurement, Area, and Volume Notes

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin.

Abstract We proved in this paper that 14 triangles are necessary to triangulate a square with every angle no more than 72, answering an unsolved probl

Contents. Lines, angles and polygons: Parallel lines and angles. Triangles. Quadrilaterals. Angles in polygons. Congruence.

Transcription:

Rensselaer Polytechnic Institute Advanced Computer Graphics, Spring 2014 Final Project Evaluating the Quality of Triangle, Quadrilateral, and Hybrid Meshes Before and After Refinement Author: Rebecca Nordhauser Professor and Advisor: Dr. Barb Cutler May 6, 2014

Contents 1 Motivation 2 2 Related Work 2 3 Mesh Quality 2 3.1 Calculating Mesh Quality............................... 2 3.1.1 Calculating Area to Bounding Circle Area Ratio.............. 3 3.1.2 Calculating Smallest Angle.......................... 4 3.2 Quality Visualization.................................. 4 4 Mesh Refinement 5 4.1 Diagonal Swapping................................... 6 4.2 Triangle Merging.................................... 7 4.3 Triangle-Quad Recombination............................. 7 4.4 Visualizing the Change................................. 7 5 Limitations 8 6 Challenges 8 6.1 Finding Meshes..................................... 8 6.2 Wireframe........................................ 10 6.3 Vertex Ordering.................................... 11 7 Results and Conclusion 12 7.1 Angle Threshold.................................... 12 7.2 Comparison of Diagonal Swapping and Triangle Merging.............. 14 8 Future Work 14 8.1 Wireframe........................................ 14 8.2 Use Dependent Calculation of Element Quality................... 14 8.3 Selection of Angle Threshold............................. 15 1

1 Motivation When dealing with meshes it is important to have elements that not only properly represent the desired geometry, but also have properties that make them easy to work with. For example, elongated, abnormal elements would not work well in a radiosity simulation because areas that are far apart are being labeled with a single light value. If local changes were made to a mesh by moving a vertex that was in an irregular face, the change might affect areas of the mesh not near the original change. For this reason, these faces could cause a problem in animation. Because of situations like this, it is important to be alerted to these faces and be able to effectively improve them. In this paper, I discuss methods of measuring the quality of an element. I also present visualizations of the mesh to show the quality of the faces before and after my refinement technique has been applied to the mesh. 2 Related Work Knupp describes some desirable aspects in metrics used to evaluate mesh quality in Algebraic Mesh Quality Metrics. Some such properties are: not being dependent on size, not having units, having an ideal to compare to, and being useful for many types of elements [Knupp, 2001]. In Spectral Surface Quadrangulation, Dong et al. describe how to use properties of a mesh s surface to create a high quality quadrangulation of the surface and calculate ideal locations for extraordinary vertices [Dong et al., 2006]. 3 Mesh Quality I have assigned each mesh a single overall quality value, ranked from 0 (low quality) to 1 (high quality). This number is an average of the quality values calculated for each face, which also range from 0 to 1. 3.1 Calculating Mesh Quality One metric I choose to use is the ratio of the area of an element to the area of its inscribed circle. This metric meets many of the criteria discussed by [Knupp, 2001]. Any polygon, even ones with more sides than a quadrilateral, will have a bounding circle with a larger area, and the ratio is unitless. Another technique I used to evaluate the quality of an element is the size of the smallest angle in an element compared to the angles in a regular polygon with that many sides. Without the use of this metric, quads that were intentionally made long and thin to match object geometry would get an extremely low quality score. 2

3.1.1 Calculating Area to Bounding Circle Area Ratio To calculate the area of an arbitrary triangle, I simply used the formula 1 2 AB BC, where A, B, and C refer to the vertices of the triangle. I calculated the ideal ratio of a triangle using the formula: Area of AOB = 1 2 r r sin 120 and Area of ABC = 3 Area of AOB. This ratio is 3 3 4π Figure 1: Above is an equilateral triangle in its bounding circle. While calculating the area of a quad, I assumed that it was convex. To calculate the area of a concave quad would not be too difficult, but my algorithms later also assume convex quads. To calculate the area of the quad, I divided the quad up into two triangles, triangle ABC and triangle ACD, and then added their two areas together. This calculation assumes that the quad is planar, which is not necessarily true, but I use this approximate area value. For quads, I used the Figure 2 to determine the ideal area to inscribed circle area is 2 π. Figure 2: Above is a square in its bounding circle. 3

3.1.2 Calculating Smallest Angle Sometimes the geometry of the mesh is not symmetric, it can be beneficial to have elements, especially quads, that are not a regular shape. Longer and thinner elements can sometimes better represent geometry with fewer edges, for example the lamp in Figure 3. Figure 3: This mesh of a lamp has elements on the pole that are intensionally long and thin. There can be fewer elements because the vertical facets each only need to be represented with one face. In this visualization, quads are cyan and triangles are magenta. [Burkardt, 2012] For this reason, another way I am measuring the quality of an element is the ratio of the smallest angle to the angles in a regular shape with that number of sides. The smallest angle ratio accounts for half of the element s quality value. 3.2 Quality Visualization To show mesh quality, I used a color visualization. I chose to make faces that have quality values close to 1 a green color and faces that have low quality values have colors closer to red. An even fade from green to red, representing the quality is given by: glm::vec3(1-quality, quality, 0.0); Figure 4 is an example of the quality visualization. 4

Figure 4: This bunny mesh is colored using the quality visualization. It can be seen that more irregular elements are more red and elements that are closer to equilateral are green. 4 Mesh Refinement I implemented an algorithm to attempt to improve the quality of elements in a mesh, which creates more regular elements by making local changes to adjacent faces. The three methods I use for improvement are diagonal swapping, triangle merging, and triangle-quad recombination. The algorithm is described below. 5

f o r each t r i a n g l e (ABC) in the mesh f o r each adjacent t r i a n g l e (BDC) i f angle between normals < t h r e s h o l d i f angle between normals o f t r i a n g l e s ADC and ABD i s l e s s than t h r e s h o l d i f the sum o f the q u a l i t y o f new t r i a n g l e s i s higher the old t r i a n g l e s and t r i a n g l e merging remove t r i a n g l e s ABC and BDC i n s e r t t r i a n g l e s ADC and ABD i f angle between quad ABCD and o r i g i n a l t r i a n g l e s < t h r e s h o l d i f new quad q u a l i t y i s b e t t e r than old t r i a n g l e s and d i a g o n a l swapping t r i a n g l e s i f new quad i s convex remove t r i a n g l e s ABC and BDC i n s e r t quad ABCD f o r each adjacent quad t e s t q u a l i t y f o r s p l i t t i n g the quad i n t o t r i a n g l e s both ways t e s t combining the quad s t r i a n g l e touching the o r i g i n a l t r i a n g l e with the o r i g i n a l t r i a n g l e i f c r e a t e d quad i s concave, d i s q u a l i f y t h i s c o n f i g u r a t i o n make best change i f any are b e t t e r than the o r i g i n a l q u a l i t y The implementation of this algorithm is in C++ using OpenGL. It is uses the framework built by Prof. Cutler for homework 1.[Cutler, 2014] 4.1 Diagonal Swapping The algorithm using diagonal swapping improves the quality of pairs of triangles. Their normals are compared to make sure that they are within a threshold of each other as to not change the shape of the mesh significantly. Each pair of triangles that share an edge are compared to the triangles that would be formed if the edge they shared was changed to be the other diagonal of the quad they form together. The new triangles must also have normals below a threshold. This means that there is a maximum allowed dihedral angle for the newly created triangles. Figure 5 is an example of this change. Figure 5: In this case, it improves the quality of the triangles to modify them, as shown 6

4.2 Triangle Merging The triangle merging algorithm also works with pairs of triangles, so before selecting whether to do triangle merging or diagonal swapping, it must compare the resulting qualities of each on a per-triangle-pair basis. In the triangle merging algorithm, I compare the average quality of the triangle faces to the quality of the quad that would be formed by mering them into a single face. If the new quality value is higher and the resulting quad is convex, I remove the triangles and add the quad. To make sure the quad is convex, I look at each vertex that the two original triangles share. For both, I add together the angle that is centered at that vertex in each of the two triangles. If these angles are less than 180, the quad is convex. 4.3 Triangle-Quad Recombination The Triangle-Quad Recombination refinement technique compares many options of change. First it divides the quad up into two triangles, and tests the quality of cutting the quad along each of the two diagonals. Next, in each of these cases the algorithm tries combining the triangle from the quad that is touching the original triangle with that triangle. Before a change is made, all five cases are considered. If any of these have a higher average element quality value than that of the original two faces, the best is put into the mesh. Figure 6 shows an example of triangle-quad recombination Figure 6: In this case of recombination, it was most beneficial to split the quad into two triangles and then combine one of those triangles with the original triangle to make a quad. The resulting mesh is on the right. 4.4 Visualizing the Change To visualize the changes made, I turn the affected faces different colors immediately after the refinement is done. I color the diagonal swapped faces magenta, the triangle merging quads dark purple, and the triangle-quad recombination quads and triangles yellow, as can be seen in Figure 7. 7

Figure 7: All three refinement operations have been preformed on this mesh, as can be seen by the magenta, purple, and yellow faces. 5 Limitations While doing this project, I had several limitations in order to complete the project within the time frame, many of these limitations included not handling corner cases in meshes. I require that all mesh elements are either quads or triangles (or will be converted to quads and triangles when the mesh is loaded into the system. All quads must also be convex. If they are not, their areas will not be calculated correctly, because I calculate the area of a quad by adding the areas of the two triangles that make up the quad. I also require that each pair of adjacent faces share at most two vertices. This means that each pair of faces can only share one edge, which is important for the diagonal swapping algorithm. Another limitation of my algorithm is the way I handle quality improvement of the mesh when deciding whether or not to change faces. Both Triangle Merging and Triangle-Quad Recombination can cause a change in the number of faces, but I still judge the quality of the faces I am looking at by averaging them. For example, if two triangles of high quality compared to the other faces were combined, the overall quality of the mesh could go down because these triangles now are only averaged into the mesh quality as one face. 6 Challenges 6.1 Finding Meshes One challenge that I had was finding meshes to use to test my algorithm. I originally had downloaded some meshes, but later noticed that they had concave elements and elements that shared more than two vertices. Figure 8 (left) shows an example of a concave quad in a lamp model that I found. Another mesh I found, pictured in Figure 8 (right), is of a magnolia had most elements oriented in the same direction, but one element facing the wrong way. An element is facing the wrong way if their vertices are listed in the wrong order (clockwise versus 8

counterclockwise). It is important to know which side of the face is the front side so the normal of the face can be determined. Figure 8: The closeup on the left shows some concave quad faces that do not work with my algorithm. The right image shows a mesh with one face in the opposite direction from the others.[burkardt, 2012] I also found some meshes that seemed to have faces either with the incorrect vertices or formatted differently. Because of my difficulties with finding meshes, I only tested on triangle meshes. Figure 9 shows a few of the meshes I decided not to use. Figure 9: Some of these faces have vertices that were clearly not meant to be connected by a face or are in a format that I cannot parse.[burkardt, 2012] [Durand, 2003] 9

6.2 Wireframe I found adding the option to have a wireframe and colored elements to be a challenge. In the homework 1 code base, once a variable face color was introduced, the same method for calculating where the wireframe edge should be could not be used. I attempted to pass more information into the vertex shader, but when shading, I always found the center color variable to contain the color black. Currently the wireframe is a thick black line that then fades into the face color. It is functional enough to be useful, but should look nicer. This is an example of what the wireframe looked like before. Figure 10: Wireframe appearance at early stage of development. 6.3 Vertex Ordering When putting new faces into the mesh in the diagonal swapping algorithm, I had a hard time getting the vertices to consistently be ordered correctly. Sometimes having them in reverse order caused some of the new triangles to be oriented in the wrong direction (facing in). Figure 11 is an example of this bug. Having these triangles turn blue highlights to the user some of the faces that were changed and helped me make sure that my algorithm was correct. This inspired me to change the color of refined faces, as described in section 4.4. 10

Figure 11: On the left is a bunny with the quality visualization, and on the right is an example of the vertex ordering bug. With these two meshes side by side, some of the triangles that were modified with diagonal swapping can easily be located. 7 Results and Conclusion I tested my algorithms on 17 different meshes [Burkardt, 2012] [Durand, 2003] [Cutler, 2014] with initial quality values ranging from 0.397 to 0.721. Since I was only able to find triangle meshes that complied with my requirements, I compared only my diagonal swapping method and my triangle merging refinements. When testing on different angle thresholds I used all three methods, but triangle-quad recombination only happened once quads were created with triangle merging. Because of this restriction, the triangle-quad recombination on its own would never modify any of the meshes. 7.1 Angle Threshold As expected, as the threshold for the allowed angle between shapes increased, so did the number of refinements and the quality improvement. As can be seen in Figure 12 the amount of refinement increased until about 60, where the threshold angle was no longer a limitation which operations could be preformed. Even though there was more element quality improvement with higher thresholds, I started to notice small changes in mesh shape at about 30 with larger shape changes at higher threshold angles. Figure 13 shows an example of a mesh that was refined with too high of a threshold angle. 11

Figure 12: Plotted points are the average number of refinements done and average improvement when run on the 17 meshes I used with the angle threshold given. 12

Figure 13: On the left is a mesh before refinement and on the right is the same mesh after it has been refined with a threshold angle of 60. 7.2 Comparison of Diagonal Swapping and Triangle Merging To compare these techniques, I limited my algorithm to only allow one type of refinement when running on each mesh. I found the diagonal swapping improved the mesh by almost three times as much with an average of 0.03611 compared to the 0.01209 improvement that triangle merging did. There was even more of a difference in the number of operations performed: an average of 106.5 for diagonal swapping and 15.53 for triangle merging. This means that each individual triangle merging operation was over twice as effective in improving quality than diagonal swapping. 8 Future Work 8.1 Wireframe For this project, the implementation of the wireframe I used served its purpose. For the future, I would like to make it so that the wireframe is black and the inner portion of the face is a solid color, as opposed to a fade from black to the color the face is supposed to be. This would also make the wireframe look better for quads. 8.2 Use Dependent Calculation of Element Quality Because different aspects of an element are useful for different applications, it could be advantageous to choose which metrics used to evaluate a mesh based on what the mesh will be used for. For example, if a mesh will be used for an expensive task, it may be important to represent the geometry with as few faces as possible while retaining geometry. If it is going to be used for a task like radiosity, it may be more important to have no long, thin elements. 13

8.3 Selection of Angle Threshold In this paper I chose what angle threshold to used based off of running my algorithm on many meshes at various thresholds. I noticed very little mesh deformation with a 20 degree angle as the threshold, but with higher thresholds, there were obvious shape changes in the mesh. In the future, I would like to come up with a more rigorous method of choosing what threshold to use. This could be done by doing a user study and asking users when they start to notice change in the meshes or by making sure that after the change the mesh does not exceed some value that can be calculated. References [Burkardt, 2012] Burkardt, John(2012). OBJ Files. people.sc.fsu.edu/ jburkhardt/data/obj/obj.html. [Cutler, 2014] Cutler, Barb. (2014). Homework 1: Simplification and Subdivision Surfaces. www.cs.rpi.edu/ cutler/classes/advancedgraphics/s14/hw1 meshes.php. [Dong et al., 2006] Dong, Shen; Bremer, Peer-Timo; Garland, Michael; Pascucci, Valerio; and Hart, John C. (2006). Spectral Surface Quadrangulation. SIGGRAPH [Durand, 2003] Durand, Fredo and Cutler, Barb (2003). Sample.obj Files groups.csail.mit.edu/graphics/classes/6.837/f03/models. [Knupp, 2001] Knupp, M. Patrick. (2001). Algebraic Mesh Quality Metrics SIAM. J Sci. Comput., 23:193 218. 14