# Offset Triangular Mesh Using the Multiple Normal Vectors of a Vertex

285 Offset Triangular Mesh Using the Multiple Normal Vectors of a Vertex Su-Jin Kim1, Dong-Yoon Lee2 and Min-Yang Yang3 1 Korea Advanced Institute of Science and Technology, sujinkim@kaist. ac. kr 2 Korea Advanced Institute of Science and Technology, yunny@kaist. ac. kr 3 Korea Advanced Institute of Science and Technology, myyang@kaist. ac. kr ABSTRACT This paper introduces and illustrates the results of a new method for offsetting triangular mesh by moving all vertices along the multiple normal vectors of a vertex.

The multiple normal vectors of a vertex are set the same as the normal vectors of the faces surrounding the vertex, while the two vectors with the smallest difference are joined repeatedly until the difference is smaller than allowance. Offsetting with the multiple normal vectors of a vertex does not create a gap or overlap at the smooth edges, thereby making the mesh size uniform and the computation time short. In addition, this offsetting method is accurate at the sharp edges because the vertices are moved to the normal directions of faces and joined by the blend surface.

The method is also useful for rapid prototyping and tool path generation if the triangular mesh is tessellated part of the solid models with curved surfaces and sharp edges. The suggested method and previous methods are implemented on a PC using C++ and illustrated using an OpenGL library. Keywords: Offset, Triangular mesh, Multiple normal vectors 1. INTRODUCTION Offsets are widely used in tool path generation for numerical control machining, rapid prototyping, hollow or shelled model generation, and access space representations in robotics.

In a numerical control machining area, 2D and 3D offsets are particularly important and useful for gouge-free and collision-free tool paths [1,2]. In 2D milling, a contour is offset by the size of the cutter radius, and invalid loops are removed for a gouge-free tool path [1]. In 3D milling, a gouge can be removed by computing the cutter location (CL) surface [2]. Since the SLT file format is widely used in the field, the development of an effective offsetting method for triangular mesh is important for numerical control machining and rapid prototyping.

To offset triangular mesh, each triangular face is moved by the size of the cutter radius in its corresponding normal direction, which is an exact offset of polyhedron [3]. This process, however, results in intersections or gaps between the offset surfaces of two neighboring triangles, as shown in Fig. 1(a). The problem can be avoided if the vertices, instead of the triangular faces, are offset in their normal direction, as shown in Fig. 1(b) [4,5]. Calculating vertex offset vectors by averaging the normal vectors of triangles connected to the vertex is an inaccurate ethod for vertices on sharp edges [4]. Thus, a method was developed to calculate offset vectors for vertices by using the weighted sum of the normal vectors of the connection triangles [5]. The vertex offset method works well for small offset values on mesh with smooth edges where local and global intersections do not normally occur. However, the weighted sum of normal vectors at sharp edges is so large that unwanted interference can occur and the shell thickness becomes larger than the smooth edges at the rapid prototyped part.

The triangular mesh offset methods that move faces along the face normal vectors result in intersections or gaps among offset faces; other methods that move the vertices along the single normal direction of vertices are not precise at sharp edges. Consequently, a new offset method for triangular mesh is needed to make no gaps or overlaps between the triangular faces tessellated from the smooth surface and the precisely offset sharp edges.

In this paper, a new offset method for triangular mesh is introduced that moves the vertex to the multiple normal vectors of a vertex computed by the normal vectors of the faces surrounding the vertex. The vertices are moved along the multiple normal directions of a vertex and the gaps at sharp edges along with the vertices are filled by a blending mesh, as shown in Fig. 1(c). The multiple normal vectors of a vertex are introduced and the computation methods that use the normal vectors of the 286 triangular faces connected to the vertex is explained.

The offsetting process of a triangular mesh that uses the multiple normal vectors of a vertex is detailed to create cutter location mesh. 2. MULTIPLE NORMAL VECTORS The normal vector of a vertex in triangular mesh has been defined to a single vector and the offset method has been using the normal of faces or the single normal vector of a vertex. In this section, the multiple normal vectors of a vertex are introduced and the computation methods that use the normal vectors of the triangular faces connected to the vertex is explained.

To offset triangular mesh, which is an approximation of a solid model with piecewise smooth surfaces and sharp edges, a vertex has no single normal vector but more than one vertex normal vector referred to in this paper as the multiple normal vectors of a vertex. The vertex on smooth geometries has one normal vector calculated by the weighted sum of the normal vectors of the faces around the vertex, while the vertex on the sharp edge has more than two normal vectors that are almost the same as the normal vectors of surrounding faces.

To compute the multiple normal vectors of a vertex, the normal vectors of a vertex are set the same as the face normal vectors surrounding the vertex and replaced to one vector if the cross product of vectors is smaller than allowance. In Fig. 2(a), the vertex normal vector v1,2,3 is computed by averaging the three normal vectors of the faces around the vertex because all the cross products of the normal vectors of the faces are smaller than allowance. In Fig. 2(b), the vertex normal vector v1 is set the same as the face normal vector f1 because the direction differs from the other normal vectors of the faces around the vertex.

Because the cross product between f2 and f3 is smaller than allowance, the vertex normal vectors v2 and v3 are replaced to the vector v2,3 which is the average of the two vectors. Vector v4,5 is also the average of vectors f4 and f5, which have almost the same values. The three vectors v1, v2,3 and v4,5, called the multiple normal vectors of a vertex, are computed from five normal vectors of the faces around the vertex. The computation method for the average vector was developed so that the distance from any original triangular surface to the offset surface would be exactly the same as the offset distance, as shown in Fig. (c) [5]. Gaps Overlaps (a) Single vertex normal (b) Multiple normal vectors Sharp Smooth (c) Fig. 1. Offsetting surfaces and vertices: (a) offsetting surfaces along face normal directions; (b) offsetting vertices along the single normal direction of a vertex; (c) offsetting vertices along the multiple normal directions of a vertex. v1,2,3 f3 f2 f1 (a) f4 f5 v4 v1 2 if 1 vi is the normal vector of vertex Vi ? the allowance v 1, 2 = w1 v 1 + w2 v 2 v ? v