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 

Comentarios

Agregar un comentario


Trabajos relacionados

  • Estructura de datos

    Base De Datos. Recursividad. Lista. Árboles binarios. Variables Constantes. Diagramas de estructura de datos. Algoritmo...

  • Descripción de Objetos

    Descripción de objetos. Descripción de los métodos. La programación estructurada nace para que los programas fueran más...

  • Historia de los sistemas expertos

    Historia de los sistemas expertos. Definiciones de sistemas expertos. Lenguajes de programación. Rita, Rosie, Y Roos....

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.