Jump to content
Necesitamos tus fotos para el Catalogo Messier Leer más... ×
Astronomia - Espacio Profundo
  • Registrarme
Conéctate para seguir esto  
Tuxero

Programa en C

Recommended Posts

Tuxero

Hola:

Tengo en mente hacer un programa en C que me calcule las posiciones en coordenadas cartesianas y polares de la órbita de Venus respecto al Sol. La idea sería que el programa fuera sacando las sucesivas posiciones, velocidades y aceleraciones en cartesianas por integración numérica -método de Euler-, con un bucle for, y que el usuario seleccionara el infinitesimal de tiempo para hacer la integración.

No quiero introducir nada de perturbaciones gravitacionales ni ecuaciones diferenciales.

De momento había pensado dividir la órbita en cuatro cuadrantes y ver qué pasa con la aceleración centrípeta, la velocidad y la aceleración en cada uno de ellos, pero no me funciona.De momento éste es el código para el tercer cuadrante:

posiciony = 0, posicionx = -1.082082e11, velocidadx = 0, velocidady =  3.501e4, aceleracionx = 1.133e-2;


/* Las sucesivas posiciones y valores de la velocidad y la aceleración se calculan por la intergración de Euler. El Sol es el centro de coordenadas */
for( i = 0; i <= repeticiones; i++ )
{

	if( posicionx <= 0 && posiciony >= b ) // Condiciones para el 3º cuadrante.
	{
		velocidadx = aceleracionx * diferencial;
		velocidady = aceleraciony * diferencial;
		posicionx += velocidadx * diferencial;
		posiciony -= velocidady * diferencial;
		unitariox = posicionx / ( sqrt( ( pow( posicionx, 2 ) ) + ( pow( posiciony, 2 ) ) ) );
		unitarioy = posiciony / ( sqrt( ( pow( posicionx, 2 ) ) + ( pow( posiciony, 2 ) ) ) );
		aceleracionx = ( G * masasolar / ( sqrt( ( pow( posicionx, 2 ) ) + pow( posiciony, 2 ) ) ) ) * unitariox;
		aceleraciony = ( G * masasolar / ( sqrt( ( pow( posicionx, 2 ) ) + pow( posiciony, 2 ) ) ) ) * unitarioy;
	}
}

Agradezco toda la ayuda que puedan darme.

Saludos.

Compartir este post


Enlace al post
Compartir en otros sitios
Tuxero

Ya no necesito ayuda, jeje, se me acaba de ocurrir la solucion y funciona a las mil maravillas :mrgreen::D:D .

Saludos!

Compartir este post


Enlace al post
Compartir en otros sitios
jcosellame

Tuxero, el código que proponés ni siquiera debería complilar, tiene errores de sintaxis y falta la declaración de las variables.

En C todas las variables deben declararse antes de ser utilizadas.

Te recomiendo que utilices algún lenguaje de programación de alto nivel (por ej. Visual Basic) ya que son más fáciles y ágiles de aprender.

Con el tema de los cálculos no sabría ayudarte, sin embargo en el foro hay gente que sabe mucho de matemáticas y podrían darte una mano.

Saludos

Compartir este post


Enlace al post
Compartir en otros sitios
Invitado
Este tema está cerrado para más respuestas.
Conéctate para seguir esto  

×

Important Information

Términos y condiciones de uso de Espacio Profundo