Learn R Programming

spatstat (version 1.23-1)

infline: Infinite Straight Lines

Description

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

Usage

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)

Arguments

a,b
Numeric vectors of equal length giving the intercepts $a$ and slopes $b$ of the lines. Incompatible with h,v,p,theta
h
Numeric vector giving the positions of horizontal lines when they cross the $y$ axis. Incompatible with a,b,v,p,theta
v
Numeric vector giving the positions of vertical lines when they cross the $x$ axis. Incompatible with a,b,h,p,theta
p,theta
Numeric vectors of equal length giving the polar coordinates of the line. Incompatible with a,b,h,v
x
An object of class "infline"
...
Extra arguments passed to print for printing or abline for plotting

Value

  • 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.

Details

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.

Examples

Run this code
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)))

Run the code above in your browser using DataLab