5,376 research outputs found
An Optimal Algorithm for the Separating Common Tangents of two Polygons
We describe an algorithm for computing the separating common tangents of two
simple polygons using linear time and only constant workspace. A tangent of a
polygon is a line touching the polygon such that all of the polygon lies to the
same side of the line. A separating common tangent of two polygons is a tangent
of both polygons where the polygons are lying on different sides of the
tangent. Each polygon is given as a read-only array of its corners. If a
separating common tangent does not exist, the algorithm reports that.
Otherwise, two corners defining a separating common tangent are returned. The
algorithm is simple and implies an optimal algorithm for deciding if the convex
hulls of two polygons are disjoint or not. This was not known to be possible in
linear time and constant workspace prior to this paper.
An outer common tangent is a tangent of both polygons where the polygons are
on the same side of the tangent. In the case where the convex hulls of the
polygons are disjoint, we give an algorithm for computing the outer common
tangents in linear time using constant workspace.Comment: 12 pages, 6 figures. A preliminary version of this paper appeared at
SoCG 201
Faster ASV decomposition for orthogonal polyhedra using the Extreme Vertices Model (EVM)
The alternating sum of volumes (ASV) decomposition is a widely used
technique for converting a B-Rep into a CSG model. The obtained CSG
tree has convex primitives at its leaf nodes, while the contents of
its internal nodes alternate between the set union and difference
operators.
This work first shows that the obtained CSG tree T can also be
expressed as the regularized Exclusive-OR operation among all the
convex primitives at the leaf nodes of T, regardless the structure and
internal nodes of T. This is an important result in the case in which
EVM represented orthogonal polyhedra are used because in this model
the Exclusive-OR operation runs much faster than set union and
difference operations. Therefore this work applies this result to EVM
represented orthogonal polyhedra. It also presents experimental
results that corroborate the theoretical results and includes some
practical uses for the ASV decomposition of orthogonal polyhedra.Postprint (published version
Relative Convex Hull Determination from Convex Hulls in the Plane
A new algorithm for the determination of the relative convex hull in the
plane of a simple polygon A with respect to another simple polygon B which
contains A, is proposed. The relative convex hull is also known as geodesic
convex hull, and the problem of its determination in the plane is equivalent to
find the shortest curve among all Jordan curves lying in the difference set of
B and A and encircling A. Algorithms solving this problem known from
Computational Geometry are based on the triangulation or similar decomposition
of that difference set. The algorithm presented here does not use such
decomposition, but it supposes that A and B are given as ordered sequences of
vertices. The algorithm is based on convex hull calculations of A and B and of
smaller polygons and polylines, it produces the output list of vertices of the
relative convex hull from the sequence of vertices of the convex hull of A.Comment: 15 pages, 4 figures, Conference paper published. We corrected two
typing errors in Definition 2: has to be defined based on , and
has to be defined based on (not just using ). These errors
appeared in the text of the original conference paper, which also contained
the pseudocode of an algorithm where and appeared as correctly
define
Threadable Curves
We define a plane curve to be threadable if it can rigidly pass through a
point-hole in a line L without otherwise touching L. Threadable curves are in a
sense generalizations of monotone curves. We have two main results. The first
is a linear-time algorithm for deciding whether a polygonal curve is
threadable---O(n) for a curve of n vertices---and if threadable, finding a
sequence of rigid motions to thread it through a hole. We also sketch an
argument that shows that the threadability of algebraic curves can be decided
in time polynomial in the degree of the curve. The second main result is an O(n
polylog n)-time algorithm for deciding whether a 3D polygonal curve can thread
through hole in a plane in R^3, and if so, providing a description of the rigid
motions that achieve the threading.Comment: 16 pages, 12 figures, 12 references. v2: Revised with brief addendum
after Mikkel Abrahamsen pointed us to a relevant reference on "sweepable
polygons." v3: Major revisio
Regression Depth and Center Points
We show that, for any set of n points in d dimensions, there exists a
hyperplane with regression depth at least ceiling(n/(d+1)). as had been
conjectured by Rousseeuw and Hubert. Dually, for any arrangement of n
hyperplanes in d dimensions there exists a point that cannot escape to infinity
without crossing at least ceiling(n/(d+1)) hyperplanes. We also apply our
approach to related questions on the existence of partitions of the data into
subsets such that a common plane has nonzero regression depth in each subset,
and to the computational complexity of regression depth problems.Comment: 14 pages, 3 figure
- …