module Ephemeris::Zodiac::Aspect
Public Class Methods
orb_range_by_target_at_aries_pisces( planet_1, planet_2, coverage)
click to toggle source
# File lib/ephemeris/zodiac/aspect.rb, line 14 def self.orb_range_by_target_at_aries_pisces( planet_1, planet_2, coverage) # Try it the other way around point = planet_1.position if point < coverage or point+coverage > 360 # Ok, now for the hard part if point < coverage # Aries with a lower Pisces pisces_range = [340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359] difference = (point - coverage).round pisces_range = pisces_range[ difference ]...360 return Ephemeris::Zodiac::Orb.new( [ pisces_range, 0..point+coverage], planet_2 ) else # Pisces side upper Aries difference = point + coverage - 360 return Ephemeris::Zodiac::Orb.new( [point-coverage...360, 0...difference], planet_2 ) end else return Ephemeris::Zodiac::Orb.new( (point - coverage)..(point + coverage), planet_2 ) end end
orb_range_defined_by_target( planet_1, planet_2 )
click to toggle source
# File lib/ephemeris/zodiac/aspect.rb, line 3 def self.orb_range_defined_by_target( planet_1, planet_2 ) coverage = (planet_1.class::ORB + planet_2.class::ORB).to_f / 2 point = planet_2.position if point < coverage or point+coverage > 360 return self.orb_range_by_target_at_aries_pisces( planet_1, planet_2, coverage) else return Ephemeris::Zodiac::Orb.new( (point - coverage)..(point + coverage), planet_1 ) end end