vivid v0.1.1 Vivid.Line

Represents a line segment between two Points in 2D space.

Summary

Functions

Calculates the absolute Y (vertical) distance between the origin and termination points

Creates a Line

Calculates straight-line distance between the two ends of the line segment using Pythagoras’ Theorem

Returns the origin (starting) point of the line segment

Returns the termination (ending) point of the line segment

Calculates the absolute X (horizontal) distance between the origin and termination points

Calculates the X (horizontal) distance between the origin and termination points

Calculates the Y (vertical) distance between the origin and termination points

Functions

height(line)

Calculates the absolute Y (vertical) distance between the origin and termination points.

Example

iex> Vivid.Line.init(Vivid.Point.init(1,1), Vivid.Point.init(4,14)) |> Vivid.Line.height
13
init(list)
init(o, t)

Creates a Line.

Examples

iex> Vivid.Line.init(Vivid.Point.init(1,1), Vivid.Point.init(4,4))
%Vivid.Line{origin: %Vivid.Point{x: 1, y: 1}, termination: %Vivid.Point{x: 4, y: 4}}
length(line)

Calculates straight-line distance between the two ends of the line segment using Pythagoras’ Theorem

Example

iex> Vivid.Line.init(Vivid.Point.init(1,1), Vivid.Point.init(4,5)) |> Vivid.Line.length
5.0
origin(line)

Returns the origin (starting) point of the line segment.

Example

iex> Vivid.Line.init(Vivid.Point.init(1,1), Vivid.Point.init(4,4)) |> Vivid.Line.origin
%Vivid.Point{x: 1, y: 1}
termination(line)

Returns the termination (ending) point of the line segment.

Example

iex> Vivid.Line.init(Vivid.Point.init(1,1), Vivid.Point.init(4,4)) |> Vivid.Line.termination
%Vivid.Point{x: 4, y: 4}
width(line)

Calculates the absolute X (horizontal) distance between the origin and termination points.

Example

iex> Vivid.Line.init(Vivid.Point.init(1,1), Vivid.Point.init(14,4)) |> Vivid.Line.width
13
x_distance(line)

Calculates the X (horizontal) distance between the origin and termination points.

Example

iex> Vivid.Line.init(Vivid.Point.init(14,1), Vivid.Point.init(1,4)) |> Vivid.Line.x_distance
-13
y_distance(line)

Calculates the Y (vertical) distance between the origin and termination points.

Example

iex> Vivid.Line.init(Vivid.Point.init(1,14), Vivid.Point.init(4,1)) |> Vivid.Line.y_distance
-13