**Problem Detail:**

I am wondering if there are any connection between convex polygon and castable object? What can we say about castability of the object if we know that the object is convex polygon and vice versa.

Let's gather together few basic things that we have to know.

The object is castable if it can removed from the mold.

The polyhedron P can be removed from its mold by a translation in direction $\vec{d}$ if and only if $\vec{d}$ makes an angle of at least $90^{\circ}$ with the outward normal of all ordinary facets of P.

For a arbitrary object testing for castability has time complexity $O(n^2)$. In my opinion, for a convex polygon if could be improved to linear time, because for every new top facet we should test that the vector $\vec{d}$ makes an angle at least $90^{\circ}$ with outward normal not of all but only of two adjacent ordinary facets of P.

If this is true at least we have improvement in testing for castability in case of convex polygon.

We else can we state about castability and convexity. Especially interesting to know, if castability tells us something about convexity.

###### Asked By : com

#### Answered By : jmad

This is a proper answer but feel free to correct me I think I did not get the right definitions. This is why I begin with simple facts that should be checked first.

I suppose your are talking about $\vec v$-castability of a "open" polyhedron.

Indeed it seems that no "closed" polyhedron is $\vec v$-castable.

For every $\vec v$, a convex "closed" polyhedron can always be cut into two "open" parts among a plane of normal $\vec v$ that are $\vec v$-castable and $(-\vec v)$-castable.

The test of $\vec v$-castability is in $O(n)$ (even if is not convex)

The problem (Is there a $\vec v$ s.t. $P$ is $\vec v$-castable?) seems to be linearly reducible to the convex hull, which is in $O(n\log n)$:

First consider each outward normal $\vec{n_i}$ into a point of the unit sphere.

Compute $H$ the convex hull of these points.

If the origin $0$ is in $H$ then for all $\vec v$, $P$ is not $\vec v$-castable.

If the origin $0$ is not in $H$ then let $\vec v$ be the vector starting at the projection of $0$ on $H$ and ending at $0$. The vector $\vec v$ defines a half-space containing none of the $\vec{n_i}$ meaning that $(\vec v, \vec{n_i})>90°$.

If the origin $0$ is on the surface of $H$, just take the normal of $H$ in $0$ for $\vec v$.

not in the convex hull iff there exists $\vec v$ such that

- If $P$ is convex and "open" (whatever it means), then you only need its "frontier" and the corresponding orientation. You apply the same algorithm as above on the frontier (plus the orientation vector) reducing the complexity. For a polygon it becomes in $O(1)$ if you already know the two segments on the frontier.

Hope this helps.

###### Best Answer from StackOverflow

Question Source : http://cs.stackexchange.com/questions/1671

**3.2K people like this**

## 0 comments:

## Post a Comment

Let us know your responses and feedback