Infinite Straight Lines

Define the coordinates of one or more straight lines in the plane

spatial, datagen
infline(a = NULL, b = NULL, h = NULL, v = NULL, p = NULL, theta = NULL)
## S3 method for class 'infline':
print(x, \dots)
## S3 method for class 'infline':
plot(x, \dots)
Numeric vectors of equal length giving the intercepts $a$ and slopes $b$ of the lines. Incompatible with h,v,p,theta
Numeric vector giving the positions of horizontal lines when they cross the $y$ axis. Incompatible with a,b,v,p,theta
Numeric vector giving the positions of vertical lines when they cross the $x$ axis. Incompatible with a,b,h,p,theta
Numeric vectors of equal length giving the polar coordinates of the line. Incompatible with a,b,h,v
An object of class "infline"
Extra arguments passed to print for printing or abline for plotting

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$$y \cos\theta + x \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.

  • infline
  • plot.infline
  • print.infline
  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)))
Documentation reproduced from package spatstat, version 1.18-2, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.