Casting is a manufacturing process where liquid material is poured into a mold having the shape of a desired product. After the material solidifies, the product is removed from the mold. We study the case where the mold is made of a single part and the object to be produced is a three-dimensional polyhedron. Objects that can be produced this way are called castable with a single-part mold. A direction in which the object can be removed without breaking the mold is called a valid removal direction. We give an $O(n)$-time algorithm that decides whether a given polyhedron with $n$ facets is castable with a single-part mold. When possible, our algorithm provides an orientation of the polyhedron in the mold and a direction in which the product can be removed without breaking the mold. Moreover, we provide an optimal $\Theta(n \log n)$-time algorithm to compute all valid removal directions for polyhdera that are castable with a single-part mold. Both algorithms are an improvement by a linear factor over the previously best known algorithms for both of these problems.
翻译:投放是一个制造过程, 液体物质被倒入一个模子, 其形状为想要的产品。 在材料固化后, 产品会被从模子中移除。 我们研究一个案例, 模子是由一个单元部分制成的, 而要生产的物体是三维的多元面体。 能够以这种方式生产的物体被称为可用单面模子铸造的。 一个在不打破模子的情况下可以移除对象的方向被称作一个有效的清除方向。 我们给出了一个 $(n)- time 算法, 以决定一个单面模子是否可铸成一个 $n 的给定的多元面体。 可能时, 我们的算法提供了在不折断模子的情况下可以移除产品的多面形体方向和方向。 此外, 我们提供了一种最佳的 $\ Theta (n\log n) 和时间算法, 以计算出一个单面模子可铸成的聚赫子的所有有效清除方向。 两种算法都是用一个线性因素改进的。 。