En esta ocasión he querido publicar un ejemplo de cómo realizar una simulación de tiro parabólico, es decir dado un proyectil lanzado a una velocidad "v" en m/seg. y una inclinación "a" en grados sexagesimales, para lo cual tomaremos como herramienta de programación c++.
Tiro parabólico:
Todos hemos lanzado alguna vez una pelota, piedra… y hemos notado que al lanzarla su trayectoria es una línea curva, esto es debido a la influencia de la gravedad sobre esta. Este fenómeno físico es calculable mediante formulas.
Para nuestro caso vamos a tomar como base las formula del tiro parabólico tanto para el movimiento vertical como el horizontal.
Movimiento horizontal
MH=v * sen a * t - ½gt2 donde v es la velocidad en m/s, a el ángulo de inclinación, t el tiempo en seg. y g la aceleración de la gravedad 9.8 m/s
Movimiento vertical
MV=v * cos a * t
Ahora veamos el código fuente.
Nota: se supone que el lector tiene conocimientos sobre c++
/*
Autor: Luis Alberto De Jesús
dataunix[arroba]hotmail.com
Programa que simula el lanzamiento de un proyectil dado su ángulo
y velocidad inicial tomando como base las fórmulas referentes al tiro parabólico
*/
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
#include <dos.h>
#include <string.h>
double xmax=0, ymax=0;
//variables globales, obtienen resolución máxima
class video
{
public: void inicializar();
public: void finalizar();
};
void video::inicializar()
{
//solicitando autodetección del driver de gráficos
int gdriver = DETECT, gmode, errorcode;
//Inicializando driver de gr ficos y variables locales
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
//no olvidar especificar ruta de las librerias de gráficos
//verificando errores
errorcode = graphresult();
if (errorcode != grOk) //ocurri¢ un error?
{
grapherrormsg(errorcode);
cout<<"Error de video: "<<errorcode;
cout<<"Presionar cualquier tecla: ";
getch();
exit(1); //Termina si hay un error
};
}
void video::finalizar()
{
closegraph(); //proceso de limpieza
}
class ejes
{
public: void dibujar();
public: void cuadricula();
};
void ejes::dibujar()
{
cleardevice();//limpia la pantalla
setcolor(EGA_YELLOW);
setbkcolor(EGA_BLUE);
Página siguiente ![]() |
Ingrese el e-mail y contraseña con el que está registrado en Monografias.com
Trabajos relacionados
Ver mas trabajos de Programacion |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.
Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.