PR13: elipse con matplotlib
Desarrolla un programa que haga lo siguiente:- Dibujar una elipse punto a punto, desarrollando la ecuación; la elipse deberá representar el movimiento de un planeta en torno a una estrella (ejemplo, Tierra-Sol) sabiendo su afelio y su perihelio.
- El programa deberá solicitar al usuario los datos de afelio y perihelio.
- Se deberá presentar en pantalla los datos de ejes mayor, menor y excentricidad.
- Intentar la animación del movimiento del planeta en torno a la estrella.
= = =
Ecuación de la elipse
Es el lugar geométrico de los puntos de un plano tal que la distancia a dos focos es constante.luego se cumple que:
Excentricidad
La excentricidad es la relación entre el semieje focal, y el semieje mayor.Desarrollo y fórmula
(x−c)2+y2−−−−−−−−−−−√+(x+c)2+y2−−−−−−−−−−−√=2a - Elevando al cuadrado...
x2+c2−2cx+y2+x2+c2+2cx+y2+2(x−c)2+y2−−−−−−−−−−−√⋅(x+c)2+y2−−−−−−−−−−−√=4a2 - Y simplificando...
2(x2+c2+y2)+2(x−c)2+y2−−−−−−−−−−−√⋅(x+c)2+y2−−−−−−−−−−−√=4a2 - Desarrollo los radicandos y paso al otro miembro:
2(x2+c2+y2)=4a2−2x2+c2+y2+2cx−−−−−−−−−−−−−−−√⋅x2+c2+y2−2cx−−−−−−−−−−−−−−−√ - Hago el cambio
A=(x2+c2+y2) yB=2cx , quedando simplificada a2A=4a2−2A−B−−−−−√⋅A+B−−−−−√ 2a2−A= A−B−−−−−√⋅A+B−−−−−√ - Y elevo al cuadrado ambos miembros:
4a4+A2−4Aa²=(A−B)(A+B)=A2−B2 simplificando4a4−4Aa²=−B2 - Sustituyo B por
2cx , yc=a2−b2−−−−−−√ entonces,4a4−4Aa²=−4c2x2=−4(a2−b2)x2 - Sustituyo A por lo que vale:
4a4−4(x2+y2+c2)a2=−4(a2−b2)x2 - Simplifico:
4a4−4a2y2−4a2c2=4b2x2 - Vuelvo a sustituir c por su valor:
4a4−4a2y2−4a2(a2−b2)=4b2x2 - Y vuelvo a simplificar:
−4a2y2+4a2b2=4b2x2 - Reordeno:
4a2b2= 4b2x2+4a2y2 - Y por fin, divido entre
4a2b2
x2a2+y2b2=1
PR13BIS: Sistema solar, con matplotlib
Si ya sabes dibujar la trayectoria de un planeta en torno al Sol ¡Enhorabuena!. Es hora de dibujar el sistema solar.
- Elige un adecuado tamaño de ventana, en millones de kilómetros o en U.A, donde "quepa" el último planeta que vayas a representar.
- Obtén de un fichero CSV los afelios y perihelios de los planetas.
- El programa deberá calcular una trayectoria para cada uno de ellos.
- Deberán animarse en pantalla.
PR14: Juego tiro parabólico (PyGame)
Desarrolla un programa que haga lo siguiente:
- Dibujar un eje de coordenadas X e Y. En un cuadrado que represente 10 km x 10 km (NOTA: esto dependerá del alcance y altura máxima alcanzadas para cada ángulo)
- El (0,0) de los ejes, debe estar en la esquina inferior izquierda.
- Un rectángulo alargado, simulando un cañón (o el dibujo de un cañón), debe poder girarse en un ángulo desde 5 a 85 grados Pivotará en torno al punto (0,0). Bien moviéndolo con el ratón o con las teclas.
- Un objeto, un cuadrado por ejemplo, deberá dibujarse en la mitad superior de la pantalla, de forma aleatoria. Puede ser una imagen cargada (por ejemplo, en forma de diana)
- En la punta del cañón hay una bala, por ejemplo, un círculo (o una bala de cañón - imagen png -). Al pulsar el botón del ratón, o la tecla espacio u otra definida, la bala se dispara. La velocidad de la bala será siempre fija, de 800 m/s. Hay que calcular la trayectoria parabólica, que la bala la recorra y comprobar si colisiona con el objeto que se haya dibujado.
- Ampliación: escribir los parámetros de la trayectoria (altura máxima, alcance...), conseguir que el objeto objetivo se mueva, al colisionar que aparezca una explosión, que cuente el número de aciertos...
PR15: Juego de temática libre
Desarrolla un juego de temática libre. Algunas ideas:
- Juego de dardos. dibujar una diana, y el jugador, al pulsar una tecla lanzará un dardo. La puntuación puede ser por reconocimiento del color de la diana. Dos indicadores moviéndose rápidamente en los ejes X e Y, al cruzarse, identifican el punto donde caerá el dardo en la diana. Reconocimiento de puntos (por color en la diana y/o por zona o ángulo).
- En la superficie de la luna, cae primero una lluvia de meteoritos, sembrando el suelo de ellos. Tengo ahora que alunizar una nave con los cursores. La nave cae por efecto de la gravedad lunar, pero, además , si no se tocan los cursores de izquierda a derecha para rectificar la trayectoria, el efecto de sus toberas hace que se mueva aleatoriamente hacia un lado. Hay que alunizar SIN TOCAR las piedras. El cursor arriba encenderá los motores y hará subir algo la nave.
= = =
No hay comentarios:
Publicar un comentario