Apreciado @
MackauliZ,
Gracias por transmitirnos esta inquietud de este forero.
@
Expulsado de fc, el sistema para determinar el UDD, se realiza a través de una subrutina neperiana suscrita a un logaritmo, es decir y para que lo veas más claro:
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 Gilipollas.
Esperamos haberte ayudado.
Un saludo y buena foreada.