Skip to contents

as_segment2d() creates a Segment2D object.

Usage

as_segment2d(...)

# S3 method for class 'Coord2D'
as_segment2d(p1, ..., p2, vec)

# S3 method for class 'Polygon2D'
as_segment2d(p, ...)

Arguments

...

Ignored.

p1

A Coord2D object of first endpoints.

p2

A Coord2D object of second endpoints. If missing, vec must be supplied.

vec

A Coord2D object of edge vectors (p2 - p1). Used only when p2 is missing.

p

A Polygon2D object whose edges should be returned.

Value

A Segment2D object.

Examples

p1 <- as_coord2d(x = c(0, 1), y = c(0, 0))
p2 <- as_coord2d(x = c(1, 1), y = c(0, 1))
s <- as_segment2d(p1, p2 = p2)
s$p1
#> <Coord2D[2]>
#>      x y w
#> [1,] 0 0 1
#> [2,] 1 0 1
s$p2
#> <Coord2D[2]>
#>      x y w
#> [1,] 1 0 1
#> [2,] 1 1 1
s$mid_point
#> <Coord2D[2]>
#>        x   y w
#> [1,] 0.5 0.0 1
#> [2,] 1.0 0.5 1

# From a polygon's edges
poly <- as_polygon2d(as_coord2d(x = c(0, 1, 1, 0), y = c(0, 0, 1, 1)))
as_segment2d(poly)
#> <Segment2D[4]>
#>      p1$x p1$y p2$x p2$y
#> [1,]    0    0    1    0
#> [2,]    1    0    1    1
#> [3,]    1    1    0    1
#> [4,]    0    1    0    0