File: intersectn.Rd

package info (click to toggle)
r-cran-geometry 0.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,964 kB
  • sloc: ansic: 20,610; cpp: 328; xml: 203; sh: 13; makefile: 5
file content (79 lines) | stat: -rw-r--r-- 2,585 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/intersectn.R
\name{intersectn}
\alias{intersectn}
\title{Compute convex hull of intersection of two sets of points}
\usage{
intersectn(
  ps1,
  ps2,
  tol = 0,
  return.chs = TRUE,
  options = "Tv",
  fp = NULL,
  autoscale = FALSE
)
}
\arguments{
\item{ps1}{First set of points}

\item{ps2}{Second set of points}

\item{tol}{Tolerance used to determine if a feasible point lies
within the convex hulls of both points and to round off the
points generated by the halfspace intersection, which sometimes
produces points very close together.}

\item{return.chs}{If \code{TRUE} (default) return the convex hulls
of the first and second sets of points, as well as the convex
hull of the intersection.}

\item{options}{Options passed to \code{\link{halfspacen}}. By
default this is \code{Tv}.}

\item{fp}{Coordinates of feasible point, i.e. a point known to lie
in the hulls of \code{ps1} and \code{ps2}. The feasible point is
required for \code{\link{halfspacen}} to find the intersection.
\code{intersectn} tries to find the feasible point automatically
using the linear program in \code{\link{feasible.point}}, but
currently the linear program fails on some examples where there
is an obvious solution. This option overrides the automatic
search for a feasible point}

\item{autoscale}{\emph{Experimental in v0.4.2} Automatically scale
the points to lie in a sensible numeric range. May help to
correct some numerical issues.}
}
\value{
List containing named elements: \code{ch1}, the convex
  hull of the first set of points, with volumes, areas and normals
  (see \code{\link{convhulln}}; \code{ch2}, the convex hull of the
  first set of points, with volumes, areas and normals; \code{ps},
  the intersection points of convex hulls \code{ch1} and
  \code{ch2}; and \code{ch}, the convex hull of the intersection
  points, with volumes, areas and normals.
}
\description{
Compute convex hull of intersection of two sets of points
}
\note{
\code{intersectn} was introduced in geometry 0.4.0, and is
  still under development. It is worth checking results for
  unexpected behaviour.
}
\examples{
# Two overlapping boxes
ps1 <- rbox(0, C=0.5)
ps2 <- rbox(0, C=0.5) + 0.5
out <- intersectn(ps1, ps2)
message("Volume of 1st convex hull: ", out$ch1$vol)
message("Volume of 2nd convex hull: ", out$ch2$vol)
message("Volume of intersection convex hull: ", out$ch$vol)
}
\seealso{
\code{\link{convhulln}}, \code{\link{halfspacen}},
  \code{\link{inhulln}}, \code{\link{feasible.point}}
}
\author{
David Sterratt
}