
Hamiltonian Tetrahedralizations with Steiner Points Francisco Escalona∗ Ruy Fabila-Monroy† Jorge Urrutia † Abstract tions. We say that S admits a Hamiltonian tetrahe- dralization if there exists a Hamiltonian tetrahedral- A tetrahedralization of a point set in 3-dimensional ization of S. space is Hamiltonian if its dual graph has a Hamilto- A well known problem in computational geometry nian cycle. Let S be a set of n points in general posi- (see [5], Problem 29) asks if every convex polytope tion in 3-dimensional space. We prove that by adding in R3 admits a Hamiltonian tetrahedralization, that to S at most m−2 Steiner points in the interior of ⌊ 2 ⌋ is, a tetrahedralization of the set of vertices of the the convex hull of S, we obtain a point set that admits polytope. a Hamiltonian tetrahedralization. We also obtain an 3 The question was raised in [1], where a Hamilto- O(m 2 )+ O(n log n) algorithm to solve this problem, nian triangulation was sought; in that paper the same where m is the number of elements of S on its convex problem was solved in the plane. In [3] it was proved hull. We also prove that point sets with at most 20 that triangulations produced by applying Graham’s convex hull points have a Hamiltonian tetrahedraliza- Scan to calculate the convex hull of point sets are tion without the addition of any Steiner points. Hamiltonian. It was observed in [1] that Hamiltonian triangula- 1 Introduction tions allow for faster rendering of triangular meshes. The same holds true for tetrahedra. In [1], the prob- 3 Let S be a set of n points in R in general position. lem of finding a Hamiltonian tetrahedralization for The convex hull of S (Conv(S)) is the intersection of a convex polytope in R3 was conjectured to be NP- all convex sets containing S. complete. The points of S lying on the boundary of Conv(S) The existence of a Hamiltonian tetrahedralization are called convex points and the points lying in the of a convex polytope remains open. In this paper we interior of Conv(S), interior points. study the following related problem: Given a convex A tetrahedralization of S is a partition of P R3 T polytope in , how many Steiner points must be Conv(S) into tetrahedra with vertices in S such that: placed in the interior such that the set of vertices of P together with the added Steiner points admits a 1. The tetrahedra only intersect at points, lines or Hamiltonian tetrahedralization? faces. We consider the more general case and consider 2. The tetrahedra do not contain points of S in their point sets rather than convex polytopes. Let S be 3 interior. a set of n points in R in general position such that its convex hull contains m vertices, and let m′ be the In a similar way, a triangulation of a point set in number of S that belong to the interior of Conv(S). m−2 the plane is a partition of its convex hull into triangles We present an algorithm that adds at most 2 satisfying the above properties. Steiner points, located in the interior of Conv(⌊S), to⌋ Given a tetrahedralization of S, we define DT , S. Our algorithm produces a Hamiltonian tetrahe- T the dual graph of , to be the graph whose vertex set dralization. The overall complexity of the algorithm T 3 is the tetrahedra of , two of which are adjacent if is O(m 2 )+ O(n log n). T and only if they share a common face. Finally we show that if m 20, no Steiner points In this paper, we are interested in tetrahedraliza- need to be added. ≤ tions such that their dual graph contains a Hamilto- nian cycle or path. In general, we call such tetrahe- 2 The algorithm dralizations Hamiltonian tetrahedralizations. To dif- ferentiate between cycles and paths, we write Hamil- The main idea is to first add a point to S to obtain tonian cycle and Hamiltonian path tetrahedraliza- a tetrahedralization such that its dual graph can be ∗Facultad de Ciencias, Universidad Nacional Aut´onoma de partitioned into cycles. M´exico We then insert Steiner points to join existing cycles. † Instituto de Matem´aticas, Universidad Nacional Aut´onoma We continue this process until the cycle partition con- de M´exico ([email protected], [email protected]). Supported by CONACYT of Mexico, Proyecto SEP-2004-Co1- sists of just one cycle. This final cycle is a Hamiltonian 45876, and PAPIIT (UNAM), Proyecto IN110802. cycle in the dual graph of the final tetrahedralization. 1 C1 C2 C C1 C2 C C1 C2 C Figure 2: DT before and after the join operation. and x, we obtain a tetrahedralization ′ of S. The T Hamiltonian cycle of DT can now be extended to a Hamiltonian cycle of DT ′ Figure 1: Join Operation. Actually, we first remove the interior points of S Assume now that S does not contain interior points and those convex hull point sof degree 3 (that is, or convex hull points of degree 3. points adjacent to 3 other points in the boundary of We insert a point p0 in the interior of Conv(S) and Conv(S)). We can do this in view of the following: join every face of the boundary of Conv(S) to it, form- ing a tetrahedralization of S p0 . T ∪{ } Lemma 1 If the convex hull points of S admit a Let G be the graph induced by the 1-skeleton of the Hamiltonian tetrahedralization, so does S. boundary of Conv(S); that is, the graph whose vertex set consists of the convex hull points of S and whose Proof. Consider an interior point x of S and suppose edges are the edges of the boundary of Conv(S). It is S x admits a Hamiltonian tetrahedralization . easy to see that both G and its dual graph are planar Let−{τ be} the unique tetrahedron of that containsT and 3-connected. By construction, the dual graph of T x in its interior. If we remove τ from and add the G is isomorphic to DT . Since every face of G is a T four tetrahedra induced by the faces of τ with x, we triangle, DT is a regular graph of degree 3. obtain a tetrahedralization of S and the Hamiltonian To obtain the initial partition, we use a theorem cycle of DT can be extended to a Hamiltonian cycle of Petersen [8] that states that every 2-connected cu- of the new tetrahedralization. Applying this process bic graph contains a perfect matching. Since DT is recursively, the theorem follows. 3-connected, in particular it is 2-connected and there- fore contains a perfect matching M. If we remove In the same manner we can suppose that S does the edges of M from DT , we obtain a regular graph not have any convex hull vertices of degree 3. of degree 2. This subgraph of DT is the initial cycle partition. Theorem 2 Let x be a convex hull point of S of de- gree 3. If S x admits a Hamiltonian tetrahedral- 2.1 Joining cycles ization, then−{ so does} S. Consider two disjoint cycles, C1 and C2, in our cycle Proof. Suppose S x admits a Hamiltonian tetra- partition of DT , and furthermore suppose that there −{ } hedralization . The three convex hull vertices of is an edge e of DT that has its end points τ1 and τ2 in T S adjacent to x form a face F of the boundary of C1 and C2 respectively. Since τ1 and τ2 are tetrahedra Conv(S x ). Let τ1 be the only tetrahedron of in , e corresponds to a shared face F of τ1 and τ2. −{ } T T that contains F as a face and let τ2 be the tetrahedron The join operation consists of adding a point p to induced by x and F . Clearly τ1 τ2 is convex. If we the interior of τ1 so that the line segment joining the ∪ remove τ1 and τ2 from and replace them with the point q in τ2 opposite to F in τ2 intersects F . We T three tetrahedra induced by the faces of τ1 (except F ) now remove τ1 and τ2 and replace them by the six 2 ′ ′ tetrahedra induced by the faces of τ1, τ2 and p (except in time O(k), thus ensuring a total of O(m log m ) F ) as shown in Figure 1. running time. It can now be shown that there is a cycle that passes Finally we proceed to merge the set of cycles ob- through all the vertices of Ci C2 τ1, τ2 plus the six tained thus far into a single cycle as in Subsection 2.1. ∪ −{ } new tetrahedra containing p as a vertex (see Figure 2). Each time we join two cycles, we insert one Steiner We repeat this process until a single cycle is ob- point. Since G has m vertices, the number of faces of tained. We will show in the next section that the G is 2m 4, and since all the cycles obtained have − number of Steiner points we need to insert before a at least four vertices, the initial cycle partition con- n−2 2m−4 Hamiltonian cycle is reached is at most 2 . tains at most 4 elements. Thus the number of ⌊ ⌋ ⌊ ⌋ m−2 Steiner points required is at most 2 . This can be done in O(n log n) since there are⌊ O(⌋n) edges in 3 Complexity and implementation.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages4 Page
-
File Size-