-
Enter Slide 1 Title Here
This is slide 1 description. Go to Edit HTML and replace these sentences with your own words. This is a Blogger template by NewBloggerThemes.com... -
Enter Slide 2 Title Here
This is slide 2 description. Go to Edit HTML and replace these sentences with your own words. This is a Blogger template by NewBloggerThemes.com... -
Enter Slide 3 Title Here
This is slide 3 description. Go to Edit HTML and replace these sentences with your own words. This is a Blogger template by NewBloggerThemes.com...
Algoritmo de backtracking recursivo y no recursivo para la resolución de un laberinto y su aplicación en SDL
Proyecto Final de Cátedra
Informática II
UTN FRBB
Resumen
En este proyecto se planteó como
problema la resolución de un laberinto mediante un programa en el cual se
apliquen los conocimientos obtenidos en la cátedra de Informática II. Para
cumplir este objetivo se tuvo en cuenta hacer énfasis en temas desarrollados en
clase, como el uso de árboles, dispositivos periféricos, programación orientada
a objetes e interfaz gráfica.
Para la resolución del laberinto se
desarrolló una función en base al algoritmo de backtracking, agregándole la
construcción de un árbol para mapear y almacenar la solución del laberinto. Dada la eficacia y simpleza de
este algoritmo recursivo, se optó por desarrollar una función alternativa de
backtracking usando iteración en lugar de recursividad. Se probaron ambas
funciones para medir su rendimiento, y se estudiaron los beneficios de usar una
o la otra.
Con el fin de darle un contexto a este
problema, se procedió a darle una interfaz gráfica para poder visualizar y
percibir la resolución del laberinto. Se escogió para este fin, usar las
bibliotecas SDL, y para aprovechar estas, se desarrolló un juego entre la
computadora ejecutando los algoritmos estudiados y el o los usuarios usando un
joystick para moverse dentro del laberinto.
Trabajo completo:
Introducción a los Calculos Geoespaciales en C
Trabajo Final de Cátedra
Informática I
UTN FRBB
Resumen
El objetivo de este proyecto es crear un programa que realice cálculos
geoespaciales, usando los contenidos aprendidos en la cátedra de Informática I,
de primer año, Ingeniería Electrónica. Dada la naturaleza del proyecto se debió
realizar una investigación sobre los conceptos geográficos, geodésicos y matemáticos para los cálculos astronómicos
implementados.
La matemática utilizada se divide en dos áreas: los sistemas de representación y el cálculo de la distancia entre dos puntos. Se aproximó la geometría de la Tierra usando dos modelos: la Esfera y Elipsoide Terrestre. En el primer caso la distancia se calcula usando la fórmula de Haversine[1] y en el segundo caso se utilizó la fórmula de Vincenty[2]. Una vez analizados los conceptos necesarios se procedió a desarrollar el programa e integrar las distintas fórmulas matemáticas como algoritmos de programación. Finalmente se realizaron pruebas de comparación con los resultados obtenidos.
La matemática utilizada se divide en dos áreas: los sistemas de representación y el cálculo de la distancia entre dos puntos. Se aproximó la geometría de la Tierra usando dos modelos: la Esfera y Elipsoide Terrestre. En el primer caso la distancia se calcula usando la fórmula de Haversine[1] y en el segundo caso se utilizó la fórmula de Vincenty[2]. Una vez analizados los conceptos necesarios se procedió a desarrollar el programa e integrar las distintas fórmulas matemáticas como algoritmos de programación. Finalmente se realizaron pruebas de comparación con los resultados obtenidos.
Presentación
Este trabajo fue presentado en las 41° Jornadas Argentinas de Informática (JAIIO41) y obtuvo el segundo puesto en el Concurso de Trabajos Estudiantiles.
Link a la publicación
Introducción a SDL
Las siglas SDL significan Simple DirectMedia Layer, son un
conjunto de librerías desarrolladas en C y proporcionan funciones básicas para
realizar operaciones multimedia en espacios de dos dimensiones y para ir más
allá de estas dimensiones también ofrece la posibilidad de integrar OpenGL.
Brinda la posibilidad de una fácil gestión de sonido, imágenes, tipografías,
archivos y periféricos. Es un entorno diseñado para la programación de videojuegos, lo cual significa que tiene poca complejidad en cuanto a la programación, lo
cual permite crear una interfaz gráfica de una forma relativamente rápida y
sencilla en comparación por ejemplo a la utilización de la API de Windows.
SDL fue desarrollada inicialmente por Sam Lantinga, un
desarrollador de videojuegos para la plataforma GNU/Linux, y pese a estar
programado en C, tiene adaptaciones a otros lenguajes de programación como C++,
Ada, C#, BASIC, Erlang, Lua, Java,Python, etc. Una de sus grandes virtudes es
el tratarse de una biblioteca multiplataforma, siendo compatible oficialmente
con los sistemas Microsoft Windows, GNU/Linux,Mac OS y QNX, además de otras
arquitecturas y sistemas como Sega Dreamcast, GP32, GP2X. La biblioteca se
distribuye bajo la licencia LGPL, que es la que ha provocado el gran avance y
evolución de SDL.
La decisión de trabajar sobre estas librerías fue la posibilidad de crear interfaces gráficas en base de archivos de imágenes los cuales pueden ser diseñados, editados y actualizados de forma independiente, posibilitando una gran carga visual sin agregar complejidad al programa. También SDL permite un fácil manejo de un periférico que fue clave para varios de mis trabajos que es el Joystick USB, el cual en otro caso debería ser manejado por complicadas llamadas instrucciones de DirectInput (Librería de DirectX).
La principal tarea
que tiene SDL en este programa es encargarse de gestionar el
joystick, simplificando la tarea al no tener que hacer complicadas llamadas
instrucciones de DirectInput (Librería de DirectX). En segunda medida se
encarga de la creación de la interfaz gráfica, la cual se gestiona de una forma muy simple
con unas simples llamadas a funciones y es independiente del sistema operativo
que usemos.
joystick para moverse dentro del laberinto.
Search
Popular Posts
- Análisis de Optimización por Enjambre de Partículas en Procesamiento Serie para Computación de Alta Performance
- Leer la posición del Mouse en Windows
- Métricas de Algoritmo de Simulación de Partículas
- Crear un Widget para insertar About.me en nuestra web
- Obtener el color de un pixel con el cursor
- Leer posición del Mouse mucho mas Simple
- Imperial March with STM32F4 Discovery
- Optimización de PSO utilizando OpenMP
- Simple Mouse Hook - Windows API en C
- Introducción a SDL
Recent Posts
Categories
Unordered List
Text Widget
Pages
Ariel Ivan Diaz © 2016. Todos los derechos reservados. Con la tecnología de Blogger.

