Resultados 1 al 5 de 5

Proyecto sobre Realidad Virtual

  1. #1 Proyecto sobre Realidad Virtual 
    Avanzado
    Fecha de ingreso
    Apr 2003
    Mensajes
    173
    Descargas
    0
    Uploads
    0
    Hola a tod@s!
    acudo a vosotros en busca de la sabiduria que no me ha brindado google.
    Por fin estoy con mi proyecto de fin de carrera y he elegido la realidad virtual.
    Poseo un casco y un guante (bastante chulos por cierto) y no tengo muy claro por donde empezar.
    Segun he ido leyendo en foros variados, preciso de un diseñador/modelado 3d (3ds max he leido cosas buenas sobre el) y un motor grafico,motor 3d o game engine (lei uno llamado "ogre"), luego una API potente como OpenGL y un lenguaje de programacion como C++. Tengo todo este popurri de cosas en mi cabeza sin saber por donde empezar a cogerlas, como no se exactamente que tengo que hacer, no se que buscar o que empezar a leer, ahora mismo estoy con un libro de OpenGL y otro de 3d Studio Max para empaparme de con que voy a trabajar.
    ¿Alguien puede decirme como se ensamblan estas cosas y porque las necesito?
    supongo que teniendo las cosas claras podré investigar y haceros preguntas mas concretas.

    Muchas gracias a cualquiera que pueda darme un poco de luz, aun asi seguire buscando conocimiento con Google.

    Salu2
    No hay 2 sin 3, siguiendo lo conseguire
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Sep 2003
    Mensajes
    1.384
    Descargas
    21
    Uploads
    5
    Primero que nada (y solo por curiosidad) de que carrera se trata?

    Segundo, un proyecto de carrera, al menos lo entiendo yo asi, esta pensado para que el estudiante aplique lo aprendido en su carrera. Seguramente tendra que agregar cosas, pero si se tiene una idea, no saber por donde empezar, me hace suponer o que no te ha ido muy bien en la carrera o que el proyecto no esta lo suficientemente cerca de ésta.


    Sinceramente no conosco del tema, asi que solo te pueda dar una idea muy vaga.

    Hay 3 problemas a solucionar en un sentido muy general en el tema de la realidad virtual.
    Uno es el flujo de informacion de la maquina al usuario, otro es el flujo de la informacion del usuario a la maquina y por ultimo el procesado de estos flujos dentro de la maquina.

    Para el primero, muy basicamente tenes la posibilidad de usar un engine grafico, o programarlo vos mismo usando apis como opengl y directx. Obviamente la primer opcion es mucho mas simple y ahorra mucho trabajo.

    Por lo general los engines, traen capacidades para cargar determinados formatos de modelos graficos, en este caso 3dmax por lo que comentas.
    Esto no siempre es asi, por lo que dependiendo del engine que uses puede ser necesario que tengas que encargarte de esto.

    Con esto lograras que se "muestren" los entornos virtuales.
    Posiblemente podrias agregar sonido, mediante directx o alguna otra api, y ademas (no se sobre esto), en caso de que halla alguna forma de que el guante reaccione a los eventos ocurridos en el entorno virtual, como por ejemplo que te permita "tocar" objetos, programar la interfaz del guante con la ayuda de sus drivers.


    Para el segundo problema, el flujo usuario->maquina, supongo que tendras que arreglarte con los drivers del casco y el guante y no mucho mas.


    El ultimo problema, es el que mas trabajo dara, salvo que hallas decidido programar vos mismo el engine, y es el que esta mas relacionado con el concepto de realidad virtual, de hecho es el que da el concepto de virtualidad al sistema, y mientras que los otros dos problemas son simples interfacez.

    En este caso lo que hay que hacer es "reaccionar" a los eventos del usuario, como puede ser por ejemplo, mover la mano, haciendo que se comprueve la nueva posicion de la mano y se actue en consecuencia, posiblemente tocando algun objeto del entorno y transmitiendo esto al guante o cambiando el campo visual en caso de girar la cabeza, entre tantas otras posibilidades.



    Obviamente para hacer esto se necesita conocer muy bien el funcionamiento del engine (ya sea hecho por vos o no) y de los drivers del guante y del casco o cualquier otro periferico que pretendas usado.


    Como veras no es una tarea trivial en absoluto, de todas maneras te dejo un link sobre realidad virtual, con proyectos en VRML (lenguaje de modelado de realidad virtual), lo cual lo un poco menos complicado que usando un lenguaje de proposito general como c++.


    Saludos
    - Me desagrada
    - ¿Por qué?
    - No estoy a su altura.
    ¿Ha respondido así alguna vez un hombre?

    Friedrich Nietzsche



    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Apr 2003
    Mensajes
    173
    Descargas
    0
    Uploads
    0
    Hola, gracias por la respuesta. Estudio Informatica y este proyecto esta fuera de lo aprendido en la carrera ya que es un proyecto de investigacion, solo podre apoyarme en mis conocimientos como programador.
    En cuanto a lo que comentas, esa es la idea general que yo tambien tengo despues de ir leyendo foros y demas manuales.
    Mi problema real es encontrar informacion u ejemplos sobre su aplicacion, me explico, tengo un entorno en 3D y tengo el engine tambien, esto por un lado. tengo las apis del casco y las de directx. Tengo un compilador de c++ maravilloso. El problema esta en ensamblarlo todo, ¿como interactuan las apis con c++ y el engine?, digamos que tengo los conceptos de lo que tengo que hacer por separado y necesito tener una idea mas compacta, no pido que me lo solucioneis, solo si sabeis donde puedo sacar informacion o algun proyecto parecido o algo parecido.
    Muchas gracias de nuevo por su tiempo.
    Salu2
    No hay 2 sin 3, siguiendo lo conseguire
    Citar  
     

  4. #4  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Buenas! si mal no he entendido, en definitiva se trata de controlar el PC con dispositivos HID ¿cierto o he entendido mal?

    Si es así te pondré a modo de ejemplo un proyecto parecido:

    Objetivo: mover el puntero del ratón con un dispositivo basado en inclinómetro-acelerómetro (por ejemplo con un mando de la Wii)

    Lo primero es como bien ha dicho Marchi controlar el flujo de información entre usuario máquina y viceversa. Bien, esta función la realiza el driver. Pregunta... ¿Tenemos ese driver? Si es así, perfecto, si no, tendrás que conseguir uno para ese dispositivo o en el peor de los casos diseñarlo tu.

    Suponiendo que tenemos el driver, (pensaremos que tu proyecto no se basa en programación a bajo nivel), necesitamos saber ¿cómo comunicar la aplicación con el driver? Bien, la respuesta a esta pregunta se basa en conocer la API del sistema operativo. Necesitas conocer el nombre del driver (o su identificador), para abrirlo, leer, escribir, interactuar, etc... Para el caso de Windows, las funciones son: CreateFile, ReadFile, WriteFile, DeviceIoControl, etc... Una vez consigues comunicar con el driver, la aplicación sólo tiene que esperar a que la información llegue del driver y ya luego ella sabrá que hacer con estos datos.

    Segundo paso: Ya tienes los datos recien llegados del driver, ¿qué hace la aplicación con ellos? bien, podemos representar en un fichero o a través de la salida estandar las coordenadas del movimiento, pero como ese no es nuestro objetivo, lo que haremos será llamar a unas simples funciones de la API del sistema operativo para mover el puntero en función de los datos recibidos del driver. Para el caso de Windows, funciones como SetCursorPos(x, y).

    Ahora bien, el ejemplo expuesto se basa en un dispositivo HID de entrada al sistema. Además de ésto, hablas de un casco de realidad virtual en la que mostrar la salida con los resultados ¿cierto? (he de decir que nunca he usado un casco de estos ni nada parecido) Bien, la dinámica es la misma... necesitas un driver que te permita comunicar con el dispositivo, sólo que en este caso, la aplicación es la "emisora" de los datos (en vez de ReadFile para el ejemplo anterior, se trata de usar WriteFile), para escribir en el driver (luego él se encargará de enviarlos al cacharrito usando el protocolo necesario).

    La pregunta ahora es, ¿cómo construye la información la aplicación para luego enviarla al driver? bien, aquí es donde entra en juego todo el tema de gráficos del que hablas. La aplicación es la que debe construir estos gráficos. Usando OpenGL (echa un vistazo a la documentación de la API) y algunos ejemplos, así una vez tengas generado el dibujo simplemente llamas al driver para enviar la información. Usando DirectX tienes la ventaja de que además de generar los gráficos (Direct3D o Direct Graphics), posee una serie de APIs que te permiten llamar al driver para interactuar con el dispositivo (como es el caso de DirectInput).

    Por tanto, resumiendo, nececitas un driver (del fabricante o implementado por ti) para cada dispositivo. Una aplicación implementada que recoja los datos del driver asociado al dispositivo HID de entrada, trabaje con ellos en el sistema operativo, y los resultados los envíe al driver asociado al dispositivo HID de entrada/salida (como es el ejemplo del casco), y por último pensar en la forma que serán representados estos resultados, usando OpenGL, o bien Direct3D.

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  5. #5  
    Avanzado
    Fecha de ingreso
    Apr 2003
    Mensajes
    173
    Descargas
    0
    Uploads
    0
    Ok, muchas gracias por la respuesta, ya sabiendo por donde empezar empezare a pegarme con los drivers y la entrada/salida de datos, espero no tener mas dudas y si las tuviera que fueran mucho mas concretas.
    Gracias de nuevo a abmbos por su informacion
    No hay 2 sin 3, siguiendo lo conseguire
    Citar  
     

Temas similares

  1. Proyecto CONECTADXS, no lucrativo, sobre comercio justo.
    Por conectadxs en el foro PROYECTOS
    Respuestas: 1
    Último mensaje: 27-04-2014, 06:42
  2. Realidad virtual y aumentada para formar a personas con autismo
    Por clarinetista en el foro CIBERACTIVISMO
    Respuestas: 1
    Último mensaje: 21-03-2012, 00:21
  3. Mapa sobre el proceso de desarrollo de un proyecto web
    Por KaoS en el foro PROGRAMACION WEB
    Respuestas: 1
    Último mensaje: 16-10-2009, 06:04
  4. Respuestas: 1
    Último mensaje: 31-03-2005, 01:09

Marcadores

Marcadores