Comp graft3

24
Laureate Internacional Universities ® A AS SI I G GN NA AT TU UR RA A : : P PR RO OY YE EC CT TO O : : “SIMULADOR DE VUELO VIRTUAL EN C++ CON GLUT D DO OC CE EN NT TE E : : Ing. J OSÉ L UIS P ERALTA L UJÁN I I N NT TE EG GR RA AN NT TE ES S : : CABRERA GUEVARA, Alexander VILLACORTA RAMÍREZ, Jhonatan

Transcript of Comp graft3

Laureate Internacional Universities ®

AASSIIGGNNAATTUURRAA ::

PPRROOYYEECCTTOO ::

“SIMULADOR DE VUELO VIRTUAL

EN C++ CON GLUT ”

DDOOCCEENNTTEE ::

I n g . J O S É L U I S P E R A L T A L U J Á N

IINNTTEEGGRRAANNTTEESS ::

CABRERA GUEVARA, Alexander

VILLACORTA RAMÍREZ, Jhonatan

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

ÍNDICE DE CONTENIDOS

ÍNDICE DE CUADROS .................................................... PÁG. 03

ÍNDICE DE GRÁFICOS ................................................... PÁG. 03

I. INTRODUCCIÓN ........................................................ PÁG. 04

II. RESUMEN ............................................................. PÁG. 05

III. PROBLEMA DE INVESTIGACIÓN ............................................ PÁG. 06

1. REALIDAD PROBLEMÁTICA ................................................ PÁG. 06

2. PLANTEAMIENTO DEL PROBLEMA ............................................ PÁG. 06

3. JUSTIFICACIÓN DEL PROBLEMA ............................................ PÁG. 07

4. ALCANCES ........................................................... PÁG. 08

5. LIMITACIONES ........................................................ PÁG. 08

IV. OBJETIVOS ........................................................... PÁG. 09

1. OBJETIVO GENERAL .................................................... PÁG. 09

2. OBJETIVOS ESPECÍFICOS ................................................ PÁG. 09

V. MARCO TEÓRICO ....................................................... PÁG. 10

VI. DESARROLLO .......................................................... PÁG. 16

VII. RESULTADOS .......................................................... PÁG. 16

VIII. CONCLUSIONES ........................................................ PÁG. 21

IX. RECOMENDACIONES ..................................................... PÁG. 22

X. FUENTES DE REFERENCIA ................................................ PÁG. 23

1. BIBLIOGRAFÍA ........................................................ PÁG. 23

2. WEBGRAFÍA .......................................................... PÁG. 23

XI. ANEXOS .............................................................. PÁG. 24

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

ÍNDICE DE CUADROS

1. CUADRO ESTADÍSTICO DE MORTALIDAD AERONÁUTICA .............................. PÁG. 16

2. LIBRERÍAS USADAS .................................................... PÁG. 17

3. CONTROLES DE TECLADO ................................................. PÁG. 17

4. CONTROLES DEL MOUSE .................................................. PÁG. 18

5. ARCHIVO PRINCIPAL DE ENCABEZADO ........................................ PÁG. 18

6. ARCHIVO PRINCIPAL DE CÓDIGO FUENTE ...................................... PÁG. 19

7. CUADRO DEL PROYECTO EN VISUAL ADJUNTADO .................................. PÁG. 24

ÍNDICE DE GRÁFICOS

1. SUPERVIVENCIA EN UN AVIÓN SEGÚN LA SITUACIÓN (FIG. 01) ..................... PÁG. 06

2. SIMULADOR DE RADAR DE BARCO (FIG. 02) .................................. PÁG. 10

3. SIMULADOR DE JUEGOS DE CARRERA (FIG. 03) ................................ PÁG. 13

4. OPENGL (FIG. 04) ................................................... PÁG. 14

5. EJEMPLO EN OPENGL (FIG. 05) .......................................... PÁG. 14

6. MICROSOFT VISUAL STUDIO (FIG. 06) ..................................... PÁG. 15

7. C++ (FIG. 07) ..................................................... PÁG. 15

8. VICTIMAS DE ACCIDENTES AÉREOS POR AÑO ................................... PÁG. 16

9. PANTALLA DE APLICACIÓN ................................................ PÁG. 20

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

I. INTRODUCCIÓN

La computación gráfica es el campo de la Informática Visual, donde se utilizan

computadoras tanto para generar imágenes visuales sintéticamente, como integrar o cambiar

la información visual y espacial probada del mundo real.

Los significativos avances tecnológicos han crecidos a lo largo de los últimos veinte

años han posibilitado la incursión de nuevas herramientas con las que afrontar el proceso de

enseñanza-aprendizaje. Las tecnologías multimedia han ido suplantando al clásico instructor

de vuelo, propiciando la aparición de nuevos esquemas metodológicos que ayuden a potenciar

la eficacia de estos recursos innovadores como la de simuladores virtuales por computadora

disminuyendo el riego de muerte a un 0% en el proceso de aprendizaje.

Hoy en día, la revolución producida en el ámbito de las Tecnologías de la Información

permite incluso romper la barrera espacio temporal que limita el aprendizaje presencial, y

saltar hacia una formación virtual y/o on-line, donde ya no es necesaria la presencia física de

un instructor. La enseñanza no presencial es ya una realidad que irrumpe con fuerza en el

entorno académico, y empiezan a ser abundantes las experiencias en este campo.

Nuestro proyecto “Simulador de Vuelo Virtual en C++ con Glut ”, esta encaminado a la

creación de un Simulador Virtual que canalice las iniciativas de los futuros pilotos en el ámbito

de la simulación virtual. Este proyecto, esta puesto en marcha en el curso de Computación

Grafica y Visual, ciclo 2012-2 y se encuentra actualmente integrado e implementado en

Microsoft Visual Studio 2010.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

II. RESUMEN

En este trabajo se analiza el diseño e implementación de un “Simulador de Vuelo

Virtual en C++ con Glut ”, enmarcada en la oferta Virtual de simuladores de vuelo con bajo

costo de programación. Se trata de sugerir al piloto experiencia de formación virtual.

Asimismo, se pone especial énfasis en la descripción de las dinámicas y metodologías

puestas en práctica con la mira fijada en el horizonte del Espacio Literal. La importancia que

adquiere el futuro piloto en el proceso educativo.

La idea surgió del gran costo computacional que exige crear un software de simulación

de vuelo en la actualidad y por ende el precio de compra empresa de aviación y pilotos

amateurs o de aquellas personas que quieren pilotar por hobbie o tiempo libre. Se desarrollo

un simulador virtual por computadora para el aprendizaje de los pilotos de vuelo, en una

interfaz amigable al usuario.

Por supuesto toda la aplicación fue hecha con los conocimientos adquiridos en el curso

de Computación grafica y visual de la universidad Privada del Norte, contando como Software

de trabajo: Microsoft Visual Studio con el Lenguaje de Programación C++ con librerías como

glut, glm, glui, etc.

Con la realización de este trabajo pretendemos la consecución de nuevos y diversos

conocimientos que de seguro serán bastante útiles en el resto de nuestra vida profesional.

Esperamos sea un proyecto aprendizaje y enseñanza para futuras generaciones que deseen

implementar un proyecto similar mejorando y/optimizando el código. Además en este trabajo

final se demuestra nuestro entendimiento del tema y que debido a la dedicación que esto nos

ha significado esperamos que este trabajo sea de su agrado.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

III. PROBLEMA DE LA INVESTIGACIÓN

1. REALIDAD PROBLEMÁTICA

En el sector empresarial, el uso de simuladores gráficos virtuales se ha convertido

en un aspecto importante ya que nos encontramos en un mundo globalizado y la

globalización en las redes informáticas dirigido al aspecto grafico computarizado es vital.

Estas tecnologías han sido implementadas, sin embargo sufren algunas penurias

debido a la falta de presupuesto, resistencia al cambio, entre otros.

En la actualidad aprender a manejar vehículos aéreos es una tarea a parte de

tediosa sumamente peligrosa, en aspectos técnicos es necesaria procesos de aprendizaje

con niveles de error a un nivel 0, utilizando software de bajo costo y fácil uso para el futuro

piloto.

2. PLANTEAMIENTO DEL PROBLEMA

¿En qué medida un Simulador de Vuelo Virtual por computadora ayudaría en

el aprendizaje de futuros pilotos, como soporte en el aprendizaje práctico, y

disminución en el nivel de mortalidad?

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

3. JUSTIFICACIÓN DEL PROBLEMA

La empresas aeronáuticas requieren tener acceso a instructores de vuelo y

avionetas las 24 horas del día ya que los cursos de aprendizaje para piloto tienen diversos,

para lo cual se necesita un modelo de enseñanza que disminuya costos en el

mantenimiento de las aeronaves, pago de los pilotos y por ende errores humanos en el

vuelo de practica, de tal manera que se necesita implementar un simulador virtual para

mejorar el aprendizaje teórico – semi práctico.

Debido a lo antes descrito, un simulador de vuelo va estar comprendido como

beta, y será orientara a su arquitectura gráfica con infraestructura física y visual de tal

manera que permitirá la interconexión del usuario con el computador como si fuera un

vehículo aéreo en la realidad.

Este proyecto se centra en la búsqueda de una tecnología de computación grafica

que permita dar una simulación virtual, esto se lograra a través de un programa, un

algoritmo con interfaz grafica con el fin de obtener una mejor comunicación de datos entre

los pilotos y aeronaves. Por consecuencia tener una normalización en estándares y un

adecuado control en el proceso de aprendizaje y como consecuencia se permitirá aumentar

la seguridad y otorgar servicios más rápidos de clases de vuelo.

En conclusión de manera económica, con un simulador en computadora se logrará

aumentar la efectividad y eficiencia de aprendizaje, disminuyendo sus costos como

mantenimiento, pagos de instructores por hora en un 90%. En aspectos tecnológicos, el

diseño de estadísticas de piloto ayudara a tener un mejor control y seguridad al sacar

pilotos nuevos al mercado. Por ultimo el estudio de esta investigación nos permitirá

conocer un poco más sobre la tecnología implementada sobre interfaces graficas por

computadora.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

4. ALCANCES

Se realizara una aplicación de un simulador virtual de vuelo totalmente

integrada a la medida posible, con los conocimientos gráficos de los

integrantes.

Realizar una revisión, inspección y análisis de la arquitectura grafica de un

simulador virtual.

Identificaremos las mejores propuestas para el desarrollo algorítmico de un

simulador virtual.

Compartir el conocimiento entre integrantes del grupo del desarrollo del

proyecto.

Determinar el funcionamiento de algoritmos gráficos y aprender mas

sobres librerías de OpenGL como glut, glm, gmi, etc.

5. LIMITACIONES

Ya que no se podrá conseguir host y dominio propio por ser un proyecto

estudiantil y no contar con el presupuesto adecuado, para una

implementación web de manera online.

Unos meses es quizá un período muy breve para la implementación total de

la aplicación de un simulador gráfico totalmente completo, ya que fue un

proceso de aprendizaje consecutivo, aun nos falta adquirir el conocimiento

para una culminación a gran escala.

El segundo problema es no poder establecer un IA; un modo de inteligencia

artificial para una interacción del futuro piloto con el simulador en

momentos críticos.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

IV. OBJETIVOS

1. OBJETIVO GENERAL

Desarrollar un simulador de vuelo virtual en C++ con Glut, aplicado los

conceptos físicos y matemáticos necesarios; adquiriendo la capacidad de

llevarlos a la implementación ya sea por la construcción directa de los

algoritmos o por la utilización de librerías para dicho fin utilizando los

conocimiento usados en el curso de Computación Grafica y Visual.

2. OBJETIVOS ESPECÍFICOS.

Entender los conceptos fundamentales de la Computación gráfica y cómo se

expresan y representan en términos computacionales.

Adquirir conocimiento práctico en la programación gráfica y en las técnicas

interactivas a través de aplicaciones de alto nivel de gráficas.

Adquirir destrezas en la computación gráfica visual.

Adquirir habilidades en la resolución visual de problemas.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

V. MARCO TEÓRICO

1. SOFTWARE DE SIMULACIÓN EN LA ENSEÑANZA

Se ha escuchado hablar acerca de las grandes posibilidades que ofrecen las TIC para

diversos sectores sociales, sea por el ahorro de tiempo, para agilizar tareas o porque son

fáciles de transportar. Se vuelven cada vez más indispensables; en el campo educativo es

común enterarse de proyectos que tratan de aprovechar los recursos, en primer lugar, para

facilitar la labor del instructor, y en segundo, para que se logre involucrar a los estudiantes

en sus propios procesos de aprendizaje.

Como ejemplo se pueden mencionar los simuladores, los cuales se convierten en

poderosos aliados para promover y crear entornos de aprendizaje, potencian las

competencias de los estudiantes y mantienen un espacio para la colaboración y la

cooperación. En los últimos años ha crecido la cantidad de este tipo de software y las áreas

del conocimiento en que puede ser utilizado –Matemáticas, Física, Geografía, entre otros.

Pero ¿cuánto se sabe acerca de ellos? ¿Se estaría interesado en echar un vistazo y

conocer los beneficios que ofrecen? A lo largo de estas páginas se expondrá información

valiosa sobre estas herramientas, así como sus características, ventajas, desventajas,

recomendaciones para su empleo y finalmente, algunos ejemplos, todo esto con el único

objetivo de dar a conocer algunos de aquellos materiales que puedan servir como apoyo en

el aula.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

1.1. ¿Qué es un Simulador?

Desarrollados a principios de los años 60 en el contexto de la Segunda Guerra

Mundial con la finalidad de agilizar practicas experimentales de la Física y

posteriormente con fines militares, los simuladores se convirtieron en una valiosa

herramienta para evitar el derroche monetario.

Un simulador se puede definir como una herramienta basada en cálculos

numéricos y representaciones gráficas. Representa un conjunto de instrucciones

ejecutadas mediante un ordenador que permite virtualmente reproducir, explorar y

manipular situaciones basadas en la realidad. Así, el usuario adquiere habilidades,

hábitos y competencias que difícilmente conseguiría sólo con el manejo de la teoría

logrando la experiencia directa sin la necesidad de alterar los fenómenos de la

naturaleza o esperar hasta que estos sucedan.

1.2. Características y Atributos de los Simuladores

Todo simulador debe tener tres atributos:

Imitar la Realidad.

No ser Real en Sí Mismo.

Poder ser Modificado por sus Usuarios.

Y los simuladores tienen tres características principales:

Su Papel Motivacional, ya que permiten la representación de fenómenos de

estudio que potencialmente captan la atención e interés del estudiante.

Su Papel Facilitador del aprendizaje, ya que el estudiante interactúa,

favoreciendo la aprehensión de saberes a través del descubrimiento y la

comprensión del fenómeno, sistema o proceso simulado.

Su Papel Reforzador, ayuda al aprendiz a aplicar los conocimientos

adquiridos y, por ende, a la generalización del conocimiento.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

1.3. Ventajas

La simulación facilita la construcción de escenarios ideales, la manipulación de

variables para observar su impacto en fenómenos determinados o para dotar al

aprendiz de un recurso para la réplica de las teorías aprendidas. Una ventaja

importante:

“ En lugar de que expertos construyan amplios modelos matemáticos, el

software de simulación ha permitido modelar y analizar el funcionamiento de un

sistema real para los no expertos, que son los administradores, pero no los

programadores.”

Otras ventajas son:

La reproducción de fenómenos naturales difícilmente observables de

manera directa en la realidad por motivos de peligrosidad, de escala de

tiempo, de escala espacial o de carestía del montaje (Fernández, 2005)

Y la manipulación y control a voluntad de variables para la identificación de

condiciones necesarias que lleven a cumplir con objetivos determinados.

Las ventajas mencionadas ofrecen al usuario la posibilidad de:

Experimentar nuevas situaciones de las que no se tiene información

suficiente, lo que impulsa el desarrollo de estrategias de aprendizaje

exploratorio y el descubrimiento del modelo que simula el sistema motivo

de análisis.

Poner a prueba sus ideas previas acerca del fenómeno que se simula

mediante la emisión de hipótesis propias lo cual redunda en mayor

autonomía del proceso de aprendizaje.

Adiestrarse en la toma de decisiones y formulación de conclusiones al tener

la oportunidad de valorar diversos escenarios próximos a la realidad en un

ambiente controlado y seguro pudiendo repetir la experiencia las veces que

se considere necesario, a un costo mucho menor del que implicaría la

reproducción real.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

1.4. Desventajas

Implementar un software de simulación eficiente implica una inversión alta

en tiempo, equipo y recursos humanos. El diseño de un buen software de

este tipo requiere personal capacitado, tiempo para su desarrollo, el equipo

necesario y planeación.

Muchas veces los resultados se muestran excesivamente simplistas por lo

que no resultan adecuados para una distribución masiva.

Dado que es una versión simplificada de la realidad, puede provocar una

visión reduccionista del fenómeno en el usuario.

Hay situaciones que difícilmente pueden reproducirse de manera artificial.

Los procesos implicados en el aprendizaje exploratorio pueden resultar

difíciles para los estudiantes y, por otra parte, estos no son tan activos

como asumimos, por tanto, aun teniendo las destrezas necesarias, los

alumnos no suelen aplicarlas.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

2. OpenGL

OpenGL (Open Graphics Library) es una

especificación estándar que define una API

multilenguaje y multiplataforma para escribir

aplicaciones que produzcan gráficos 2D y 3D. La

interfaz consiste en más de 250 funciones

diferentes que pueden usarse para dibujar

escenas tridimensionales complejas a partir de primitivas geométricas simples, tales como

puntos, líneas y triángulos. Fue desarrollada originalmente por Silicon Graphics Inc. (SGI) en

1992 y se usa ampliamente, realidad virtual, representación científica, visualización de

información y simulación de vuelo. También se usa en desarrollo de videojuegos, donde

compite con Direct 3D en plataformas Microsoft Windows. El funcionamiento básico de

OpenGL consiste en aceptar primitivas tales como puntos, líneas y polígonos, y convertirlas

en píxeles.

OpenGL tiene dos propósitos esenciales:

Ocultar la complejidad de la interfaz con las diferentes tarjetas gráficas,

presentando al programador una API única y uniforme.

Ocultar las diferentes capacidades de las diversas plataformas hardware,

requiriendo que todas las implementaciones soporten la funcionalidad

completa de OpenGL (utilizando emulación software si fuese necesario).

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

3. Microsoft Visual Studio

Microsoft Visual Studio es un entorno de desarrollo

integrado (IDE, por sus siglas en inglés) para sistemas operativos

Windows. Soporta varios lenguajes de programación tales como

Visual C++, Visual C#, Visual J#, y Visual Basic .NET, al igual que

entornos de desarrollo web como ASP.NET. Aunque actualmente se han desarrollado las

extensiones necesarias para muchos otros.

4. Lenguaje de Programación C++

C++ es un lenguaje de programación diseñado a mediados

de los años 1980 por Bjarne Stroustrup. La intención de su

creación fue el extender al exitoso lenguaje de programación C con

mecanismos que permitan la manipulación de objetos. En ese

sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje

híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a

los otros dos paradigmas que ya estaban admitidos (programación estructurada y la

programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de

programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la

mayoría de los fabricantes de compiladores más modernos. Una particularidad del C++ es la

posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten

como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje

fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el

nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a

que C++ es una extensión de C.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

VI. DESARROLLO Y RESULTADOS

1. ¿VUELA SEGURO? : Estadísticas de Accidentes Aéreos

Que el avión es el medio de transporte más seguro que actualmente existe es

conocido por todos. Las cifras oficiales de la Asociación Internacional del Transporte Aéreo,

la IATA (siglas en inglés), sostiene que de 2004 a 2012 la mortalidad en los accidentes

aéreos bajó un 56% y la tasa de mortalidad descendió hasta el 0,13 por cada millón de

pasajeros, diez puntos de diferencia respecto el año anterior.

La probabilidad de sufrir un accidente aéreo es menor que, por ejemplo, un

accidente nuclear o de que nos caiga un rayo, una entre once millones. Aun así, mucha

gente tiene miedo a volar. Además de las bajas cifras de accidentes, que representan un

0,42% en Europa y un 0,58% en Norteamérica del total de vuelos anuales, hay otros

argumentos para disipar los temores y recelos de subirse a un avión.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

2. LIBRERÍAS USADAS

//Librerías Nativas de Microsoft Visual Studio 2010 #include <windows.h> #include <io.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> //Librerías de OpenGL #include <GL\glut.h> #include "glm.h" //Archivos de Encabezado #include "vertices.h" #include "materials.h" #include "polygons.h" #include "draw.h" #include "render.h" #include "flightdynamics.h" #include "globals.h" #include "input.h" #include "splash.h"

3. LOS CONTROLES

//Los Controles del Teclado son:

RIGHT KEY o c Rodar derecho.

LEFT KEY o z Rodar a la izquierda.

UP KEY o s Echar abajo.

DOWN KEY o x Hacia arriba.

1 Vista exterior desde atrás, seguir la aeronave.

2 Vista exterior desde el lado izquierdo.

3 Vista exterior desde el lado derecho.

4 Vista interior de la cabina.

+ Aumentar la velocidad.

- Reducir la velocidad.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

// Los controles del Mouse son:

4. ARCHIVOS DE CÓDIGO FUENTE

main.cpp

MOUSE MOVER RIGHT Rodar derecho.

MOUSE MOVER LEFT Rodar a la izquierda.

MOUSE MOVER UP Echar abajo.

MOUSE MOVER DOWN Hacia arriba.

// ********************************************************************* // * ========= * // * == === * // * == == * // * ========= * // * * // * UNIVERSIDAD PRIVADA DEL NORTE * // * Laureate Internacional Universities® * // * * // * COMPUTACIÓN GRÁFICA Y VISUAL * // * * // * SIMULADOR DE VUELO VIRTUAL EN C++ CON GLUT * // * * // * DOCENTE: Ing. JOSÉ LUIS PERALTA LUJÁN * // * * // * ALUMNOS: CABRERA GUEVARA, Alexander * // * VILLACORTA RAMÍREZ, Jhonatan * // * * // * Cajamarca, Diciembre del 2012 * // * * // * * //********************************************************************** #include "ensemble.h" using namespace nsEnsemble; int main(int argc, char **argv) { initPrograma(); runPrograma(); return 0; }

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

5. ARCHIVOS DE ENCABEZADO (Solo el Principal lo demás será Adjuntado)

ensemble.h

#ifndef CESSNASKYHAWK_H #define CESSNASKYHAWK_H //Librerias Nativas de Microsoft Visual Studio 2010 #include <windows.h> #include <io.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> //Librerias de OpenGL #include <GL\glut.h> #include "glm.h" //Archivos de Encabezado #include "vertices.h" #include "materials.h" #include "polygons.h" #include "draw.h" #include "render.h" #include "flightdynamics.h" #include "globals.h" #include "input.h" #include "splash.h" namespace nsEnsemble { void initPrograma(void) { glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); // Tamaño de la Pantalla Simulador 500x500 glutInitWindowSize(576, 384); // Crear la Ventana del Simulador y darle un Titulo mainwindow = glutCreateWindow("Simulador de Vuelo Virtual en C++ con Glut"); //Coordenadas de Vista eyex = 0.0; eyey = 110.0; eyez = -550.0; atx = 0.0; aty = 0.0; atz = 0.0; upx = 0.0; upy = 1.0; upz = 0.0; glutDisplayFunc(splashdisplay); glEnable(GL_DEPTH_TEST); glutReshapeFunc(myReshape); glutSetWindow(mainwindow); //Posicion de la Ventana del Simulador glutPositionWindow(984,176); glutReshapeFunc(myReshape); glutKeyboardFunc(key); glutSpecialFunc (keyboard_s); glutPassiveMotionFunc(motion); glutDisplayFunc(display); glutIdleFunc(yaw); glEnable(GL_DEPTH_TEST); glEnable(GL_NORMALIZE); } void runPrograma(void) { glutMainLoop(); } } #endif CESSNASKYHAWK_H

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

6. VENTANAS DE LA APLICACIÓN

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

VII. CONCLUSIONES

La educación debe renovarse para aprovechar las nuevas oportunidades y recursos

que actualmente ofrecen los sistemas de información en materia de aprendizaje. Los

simuladores a lo largo del tiempo han logrado trascender fronteras muy especializadas para

establecerse como una estrategia didáctica mediante la cual los estudiantes no sólo adquieren

conocimientos, se les brinda la oportunidad de interactuar, experimentar y reflexionar

alrededor de los conceptos implicados. Se facilita así su participación activa y la construcción

del conocimiento mediante la toma de decisiones muy cercanas a ambiente reales. Aprenden

de la experiencia, reduciendo el costo y los riesgos del proceso.

Se puede apreciar que las ventajas de un simulador, son muchas. Es importante

considerar que, como recurso para el instructor, debe cubrir ciertos requisitos para lograr sus

fines: facilidad de uso, versatilidad, calidad de contenidos y apariencia, adecuación a los

usuarios, fomento de un esfuerzo cognitivo, entre otros. Hay que cuidar aspectos como el

costo, el resultado fue simplista, pero realmente nos involucro para lograr un aprendizaje

significativo trasladable a otros campos del conocimiento.

La variedad de simuladores disponibles hoy en día abarca múltiples aplicaciones y

áreas del conocimiento que pueden utilizarse en diversos niveles educativos y ámbitos

extraescolares. Es menester conocer la complejidad de cada modelo y su relación con las

capacidades cognitivas y analíticas de los alumnos. En suma el instructor debe integrar su uso

al desarrollo de un tema, es preciso tener claro el rumbo para seleccionarlo correctamente, y

así, como un medio de apoyo, aprovechar y potenciar este tipo de recurso tecnológico para

que sea, verdaderamente, un recurso didáctico.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

VIII. RECOMENDACIONES

En este apartado se detallan algunos aspectos que no se han realizado, ya sea por falta

de tiempo o bien por falta de recursos.

Algunas funcionalidades interesantes para futuras versiones, serían las siguientes:

Desarrollar versión instalable del software de tal manera que la instalación del simulador

virtual, la gestión de la configuración no fuesen tan rudimentarios para una futura

publicación.

Gestión de seguridad e identificación de usuarios. Sería deseable que los datos del piloto

como niveles de dificultad, estadísticas y horas de vuelo simulado, puedan establecerse

un puntaje.

Establecer una vanguardia para el manejo de interfaces graficas en realidad virtuales para

simuladores por computadora.

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

IX. FUENTES DE REFERENCIA

1. BIBLIOGRAFÍA

MASON WOO, JACKIE NELDER, TOM DAVIS, DAVE SHREINER. “OpenGL Programming Guide”.

3ra Edición. (2011). [Formato PDF]

2. WEBGRAFÍA

ITZELSAINZ. “Software de Simulación en la Enseñanza”. (2011).

http://macyte.wordpress.com/2011/05/15/software-de-simulacion-en-la-ensenanza/

OPENBOXER. “Computación Gráfica”. (S.F.).

http://www.openboxer.260mb.com/asignaturas/compGrafica.php

ANÓNIMO. “Microsoft Visual Studio”. (2010).

http://es.wikipedia.org/wiki/Microsoft_Visual_Studio

NATE ROBINS. “glm.h”. (1997-200).

http://www.cs.manchester.ac.uk/ugt/COMP37111/glm/glm.h

ALBA D. “Vuela Seguro: Estadísticas de Accidentes Aéreos”. (2009).

http://blog.ulises.com/2009/10/vuela-seguro-estadisticas-de-accidentes-aereos/

PIERRE R. “Alcance del Proyecto”. (2012).

http://www.slideshare.net/oprbguitar/alcance-del-proyecto

ANDREAS VIKLUND. “Problemática de la Investigación”. (2009).

http://topicosusscez.wordpress.com/category/ii-problematica-de-la-investigacion/

~ ~

INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE 2012 - II

UNIVERSIDAD PRIVADA DEL NORTE

Laureate International Universities®

X. ANEXOS

Se adjunta la solución del proyecto en Microsoft Visual Studio