Hamiltonian Tetrahedralizations with Steiner Points

Hamiltonian Tetrahedralizations with Steiner Points

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us