module MkCoord
Constants
- VERSION
Public Class Methods
pol2rect(pol, r)
click to toggle source
# File lib/mk_coord.rb, line 52 def self.pol2rect(pol, r) lambda, phi = pol mtx = r_y(phi) mtx = r_z(-lambda, mtx) return rotate(mtx, [r, 0.0, 0.0]) #return [ # r * Math.cos(lambda) * Math.cos(phi), # r * Math.sin(lambda) * Math.cos(phi), # r * Math.sin(phi) #] rescue => e raise end
pol_ec2eq(pol_ec, eps)
click to toggle source
# File lib/mk_coord.rb, line 32 def self.pol_ec2eq(pol_ec, eps) alpha = compute_alpha(*pol_ec, eps) delta = compute_delta(*pol_ec, eps) return [alpha, delta] rescue => e raise end
pol_eq2ec(pol_eq, eps)
click to toggle source
# File lib/mk_coord.rb, line 24 def self.pol_eq2ec(pol_eq, eps) lambda = compute_lambda(*pol_eq, eps) beta = compute_beta(*pol_eq, eps) return [lambda, beta] rescue => e raise end
rect2pol(rect)
click to toggle source
# File lib/mk_coord.rb, line 40 def self.rect2pol(rect) x, y, z = rect r = Math.sqrt(x * x + y * y) lambda = Math.atan2(y, x) phi = Math.atan2(z, r) lambda %= PI2 if lambda < 0 d = Math.sqrt(x * x + y * y + z * z) return [lambda, phi, d] rescue => e raise end
rect_ec2eq(rect_ec, eps)
click to toggle source
# File lib/mk_coord.rb, line 17 def self.rect_ec2eq(rect_ec, eps) mtx = r_x(-eps) return rotate(mtx, rect_ec) rescue => e raise end
rect_eq2ec(rect_eq, eps)
click to toggle source
# File lib/mk_coord.rb, line 10 def self.rect_eq2ec(rect_eq, eps) mtx = r_x(eps) return rotate(mtx, rect_eq) rescue => e raise end