spatstat (version 1.48-0)

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)
"print"(x, ...)
"plot"(x, ...)

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.

See Also

rotate.infline, clip.infline, chop.tess, whichhalfplane

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 DataCamp Workspace