Module: Sevgi::Geometry::Equation::Line
- Extended by:
- Line
- Included in:
- Line
- Defined in:
- lib/sevgi/geometry/equation/line.rb,
lib/sevgi/geometry/equation/line/diagonal.rb,
lib/sevgi/geometry/equation/line/vertical.rb,
lib/sevgi/geometry/equation/line/horizontal.rb
Defined Under Namespace
Classes: Diagonal, Horizontal, Vertical
Instance Method Summary
collapse
Instance Method Details
#diagonal(slope:, intercept:) ⇒ Object
13
14
15
|
# File 'lib/sevgi/geometry/equation/line.rb', line 13
def diagonal(slope:, intercept:)
Diagonal.new(slope:, intercept:)
end
|
#from_direction(point:, direction:) ⇒ Object
17
18
19
20
21
22
|
# File 'lib/sevgi/geometry/equation/line.rb', line 17
def from_direction(point:, direction:)
return horizontal(point.y) if F.horizontal?(direction)
return vertical(point.x) if F.vertical?(direction)
diagonal(slope: (slope = F.slopea(direction)), intercept: F.intercept(point, direction, slope))
end
|
#from_segment(segment) ⇒ Object
24
25
26
|
# File 'lib/sevgi/geometry/equation/line.rb', line 24
def from_segment(segment)
from_direction(point: segment.position, direction: segment.direction)
end
|
#horizontal(const) ⇒ Object
28
29
30
|
# File 'lib/sevgi/geometry/equation/line.rb', line 28
def horizontal(const)
Horizontal.new(const)
end
|
#vertical(const) ⇒ Object
32
33
34
|
# File 'lib/sevgi/geometry/equation/line.rb', line 32
def vertical(const)
Vertical.new(const)
end
|