Infinite Straight Lines
Define the coordinates of one or more straight lines in the plane
infline(a = NULL, b = NULL, h = NULL, v = NULL, p = NULL, theta = NULL) ## S3 method for class 'infline' print(x, ...) ## S3 method for class 'infline' plot(x, ...)
a,b |
Numeric vectors of equal length giving the
intercepts a and slopes b of the lines.
Incompatible with |
h |
Numeric vector giving the positions of horizontal lines when
they cross the y axis.
Incompatible with |
v |
Numeric vector giving the positions of vertical lines when
they cross the x axis.
Incompatible with |
p,theta |
Numeric vectors of equal length
giving the polar coordinates of the line.
Incompatible with |
x |
An object of class |
... |
Extra arguments passed to |
The class infline
is a convenient way to handle
infinite straight lines in the plane.
The position of a line can be specified in several ways:
its intercept a and slope b in the equation y = a + b * x can be used unless the line is vertical.
for vertical lines we can use the position v where the line crosses the y axis
for horizontal lines we can use the position h where the line crosses the x axis
the polar coordinates p and theta can be used for any line. The line equation is
x * cos(theta) + y * sin(theta) = p
The command infline
will accept line coordinates in any
of these formats. The arguments a,b,h,v
have the same interpretation
as they do in the line-plotting function
abline
.
The command infline
converts between different coordinate
systems (e.g. from a,b
to p,theta
) and returns an
object of class "infline"
that contains a representation of the lines in
each appropriate coordinate system. This object can be printed
and plotted.
The value of infline
is an object of class "infline"
which is basically a data frame with columns a,b,h,v,p,theta
.
Each row of the data frame represents one line.
Entries may be NA
if a coordinate is not applicable to
a particular line.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Rolf Turner r.turner@auckland.ac.nz.
infline(a=10:13,b=1) infline(p=1:3, theta=pi/4) plot(c(-1,1),c(-1,1),type="n",xlab="",ylab="", asp=1) plot(infline(p=0.4, theta=seq(0,pi,length=20)))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.