The navigational algorithms are the quintessence of the executable software on portable calculators or Smartphone as an aid to the art of navigation, this attempt article describe both algorithms and software for "PC-Smartphone" implementing different calculation procedures for navigation .The calculation power obtained by the languages: Basic, "C", Java, etc. .., from portable calculators or Smartphones, has made it possible to develop programs that allow calculating the position without the need for tables, in fact they have some basic tables with the correction factors for each year and calculate the values "on the fly" at runtime .
Programs on the nautical chart, directions, coastal navigation and beacons, nautical publications. The astronomical navigation section includes the resolution of the position triangle, the usefulness of a height line, the recognition of stars and the determinant of the height line, in addition to other topics of interest in nautical: tides, naval kinematics, meteorology and hurricanes, and oceanography. All heading measurements made with a magnetic compass or compass must be corrected for magnetic declination or local variation.
sub Rectang2Polar (a as double, b as double) static '----- Subprograma para convertir un vector de estado coord.cartesianas '----- En vector de estado en coord.polars. '----- De entrada: vector de estado en coord.cartesianes '----- De salida: vector de estado en coord.polars. '----- NOTA: El vector de velocidad polar es el de la velocidad total, '----- Corregido por el efecto de la latitud. '------------------------------------------------- ------------------------ mar x as double mar y as double mar z as double mar x_dot as double mar y_dot as double mar z_dot as double mar rho as double mar r as double mar lambda as double mar beta as double mar lambda_dot as double mar beta_dot as double mar r_dot as double x = a (1) y = a (2) z = a (3) x_dot = a (4) y_dot = a (5) z_dot = a (6) rho = sqr (x * x+y * y) r = sqr (rho * rho+z * z) lambda = atan2 (y, x) beta = atan2 (z, rho) if (z <0 #) then beta = beta - TWOPI yf rho = 0 # then lambda_dot = 0 # beta_dot = 0 # else lambda_dot = (x * y_dot - y * x_dot)/(rho * rho) beta_dot = (z_dot * rho * rho - z * (x * x_dot+_ y * y_dot))/(r * r * rho) end if r_dot = (x * x_dot+y * y_dot+z * z_dot)/r '----- Componentes del vector de posición b (1) = lambda if b (1)> = TWOPI then b (1) = b (1) - TWOPI b (2) = beta b (3) = r '----- Componentes del vector velocidad total b (4) = r * lambda_dot * cuerpo (beta) b (5) = r * beta_dot b (6) = r_dot end sub
Advanced navigation algorithms include piloting and astronomical navigation: loxodromia and orthodromia. Height correction of the sextant . Astronomical position with calculator, template and blank mercantile chart. Position by 2 Lines of Height. Position from n Height Lines. Vector equation of the Height Circle. Position for vector solution from two observations. Position by Height Circles: matrix solution. And articles related to ancient procedures such as obtaining latitude by the pole star, the meridian, the method of lunar distances, etc.
Ephemerides of the celestial bodies used in navigation.
They solve the problem of calculating the position from observations of the stars made with the sextant in Astronomical Navigation.
Algorithm implementation:
For n = 2 observations
For n ≥ 2 observations
Any measure of course made with a magnetic compass must be corrected because of the magnetic declination or local variation.