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