Module: Sevgi::Function::Math

Included in:
Sevgi::Function
Defined in:
lib/sevgi/geometry/internal/math.rb

Instance Method Summary collapse

Instance Method Details

#acos(value) ⇒ Object



6
# File 'lib/sevgi/geometry/internal/math.rb', line 6

def acos(value)                           = to_degrees(::Math.acos(value))

#acot(value) ⇒ Object



8
# File 'lib/sevgi/geometry/internal/math.rb', line 8

def acot(value)                           = 90.0 - to_degrees(::Math.atan(value))

#asin(value) ⇒ Object



10
# File 'lib/sevgi/geometry/internal/math.rb', line 10

def asin(value)                           = to_degrees(::Math.asin(value))

#atan(value) ⇒ Object



12
# File 'lib/sevgi/geometry/internal/math.rb', line 12

def atan(value)                           = to_degrees(::Math.atan(value))

#complement(degrees) ⇒ Object



14
# File 'lib/sevgi/geometry/internal/math.rb', line 14

def complement(degrees)                   = 90.0 - degrees

#cos(degrees) ⇒ Object



16
# File 'lib/sevgi/geometry/internal/math.rb', line 16

def cos(degrees)                          = ::Math.cos(to_radians(degrees))

#cot(degrees) ⇒ Object



18
# File 'lib/sevgi/geometry/internal/math.rb', line 18

def cot(degrees)                          = 1.0 / ::Math.tan(to_radians(degrees))

#goldenObject



20
# File 'lib/sevgi/geometry/internal/math.rb', line 20

def golden                                = @golden ||= ((1.0 + ::Math.sqrt(5)) / 2.0)

#horizontal?(degrees, precision = nil) ⇒ Boolean

Returns:

  • (Boolean)


22
# File 'lib/sevgi/geometry/internal/math.rb', line 22

def horizontal?(degrees, precision = nil) = zero?(degrees % 180.0, precision:)

#nangle(degrees) ⇒ Object



24
# File 'lib/sevgi/geometry/internal/math.rb', line 24

def nangle(degrees)                       = degrees - 90.0

#sin(degrees) ⇒ Object



26
# File 'lib/sevgi/geometry/internal/math.rb', line 26

def sin(degrees)                          = ::Math.sin(to_radians(degrees))

#sqrt2Object



28
# File 'lib/sevgi/geometry/internal/math.rb', line 28

def sqrt2                                 = @sqrt2  ||= ::Math.sqrt(2)

#sqrt2hObject



30
# File 'lib/sevgi/geometry/internal/math.rb', line 30

def sqrt2h                                = @sqrt2h ||= (sqrt2 / 2.0)

#tan(degrees) ⇒ Object



32
# File 'lib/sevgi/geometry/internal/math.rb', line 32

def tan(degrees)                          = ::Math.tan(to_radians(degrees))

#to_degrees(radians) ⇒ Object



34
# File 'lib/sevgi/geometry/internal/math.rb', line 34

def to_degrees(radians)                   = radians.to_f * 180 / ::Math::PI

#to_radians(degrees) ⇒ Object



36
# File 'lib/sevgi/geometry/internal/math.rb', line 36

def to_radians(degrees)                   = degrees.to_f / 180 * ::Math::PI

#vertical?(degrees, precision = nil) ⇒ Boolean

Returns:

  • (Boolean)


38
# File 'lib/sevgi/geometry/internal/math.rb', line 38

def vertical?(degrees, precision = nil)   = zero?(degrees % 90.0, precision:)