Module: Sevgi::Function::Math
- Included in:
- Sevgi::Function
- Defined in:
- lib/sevgi/geometry/internal/math.rb
Instance Method Summary collapse
- #acos(value) ⇒ Object
- #acot(value) ⇒ Object
- #asin(value) ⇒ Object
- #atan(value) ⇒ Object
- #complement(degrees) ⇒ Object
- #cos(degrees) ⇒ Object
- #cot(degrees) ⇒ Object
- #golden ⇒ Object
- #horizontal?(degrees, precision = nil) ⇒ Boolean
- #nangle(degrees) ⇒ Object
- #sin(degrees) ⇒ Object
- #sqrt2 ⇒ Object
- #sqrt2h ⇒ Object
- #tan(degrees) ⇒ Object
- #to_degrees(radians) ⇒ Object
- #to_radians(degrees) ⇒ Object
- #vertical?(degrees, precision = nil) ⇒ Boolean
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)) |
#golden ⇒ Object
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
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)) |
#sqrt2 ⇒ Object
28 |
# File 'lib/sevgi/geometry/internal/math.rb', line 28 def sqrt2 = @sqrt2 ||= ::Math.sqrt(2) |
#sqrt2h ⇒ Object
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
38 |
# File 'lib/sevgi/geometry/internal/math.rb', line 38 def vertical?(degrees, precision = nil) = zero?(degrees % 90.0, precision:) |