Programación de aplicaciones RV

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación de aplicaciones RV"

Transcripción

1 Programación de aplicaciones RV TÉCNICAS Y DISPOSITIVOS DE REALIDAD VIRTUAL MASTER EN INFORMÁTICA GRÁFICA, JUEGOS Y REALIDAD VIRTUAL Marcos García

2 Bibliografía Virtual Reality Technology Ed. Wiley-Interscience (Second Edition). Grigore C. Burdea & Philippe Coiffet. The Inventor Mentor : Programming Object-Oriented 3D Graphics with Open Inventor, Release 2 Ed. Wesley. Josie Wernecke. The Inventor Toolmaker : Extending Open Inventor, Release 2 Ed. Wesley. Josie Wernecke. Open Inventor C++ Reference Manual Ed. Wesley. Josie Wernecke. or/pro/html/inventor_base.htm

3 Índice Introducción OpenInventor EonStudio

4 Estructura de un sistema RV

5 Estructura software de un sistema RV Usuario Dispositivos Entrada Dispositivos Salida Software Entrada Software Salida Sw Motor Software Estado Mundo Virtual Base de Datos

6 Estructura software de un sistema RV Modelo de mundo virtual Geometría Dotar de comportamiento a los objetos del modelo Introducir el modelo de forma organizada en nuestra aplicación Crear módulos que gestionen los dispositivos I/O Render Gráfico OpenGl DirectX Glide Render Háptico Drivers de los dispositivos Toolkits

7 VR Toolkits Librerías diseñadas para ayudar al programador Características básicas Filosofía de orientación a objetos Extensibles Independientes de Hw Estructuran la información de forma jerárquica (scenegraph)

8 VR Toolkits Características adicionales Soportan algunos dispositivos I/O Permiten generar código portable Permiten importar (y exportar) modelos en formatos usados por herramientas CAD (.3ds,.max,.dwg,.dxf). Detección de colisiones Modelos de texturas, iluminación y sombreado Soporte de modelos multirresolución (LOD) Funciones de red para interacciones multiusuario

9 Clasificación Programación gráfica o de texto Lenguaje de programación que usan Dispositivos soportados (I/O) Rendering soportado Propósito especifico o propósito general Propietarias o públicas

10 Clasificación Nombre Área de aplicación Librerías propietarias Lenguaje de la librería Open Inventor (SGI,COIN3D,TGS) EON Studio (Eon Reality) World ToolKit (WTK) (EAI/Sense8) Propósito general Si/No C/C++ Propósito general Si Programación gráfica SDK C++ (Extender e integrar) Propósito general Si C Java3D (Sun Microsystems) Propósito general No Implementado en C Programación en Java Cpp3D GHOST (SensAble Technologies) Renderizado Háptico Si C++ PeopleShop (Boston Dynamics) Militar/Civil Si C/C++

11 Actualmente Toolkits de Render y Motores Completos RenderWare (Xbox, GameCube, PsII, PC) Gamebryo Unreal Engine 3.0 Toolkits de sonido DirectSound OpenAl Toolkits de Simulación Física Havok Physics Engine PhysX Irrlicht (SourceForge) Toolkits de Inteligencia Artificial Kynapse 4.0 (PS3)

12 Scene Graphs Las toolkits organizan la información en grafos llamados scene graphs Organizan el mundo de forma jerárquica Estructura de árbol Nodo raíz Internos Hoja La forma de leer el árbol es propia de cada toolkit No son estructuras fijas

13 Scene Graphs Ejemplos: Nodo root A Nodo Interno B D C E J Nodo Hoja F G H I

14 Scene Graphs Ejemplos: Escena Palma Bola

15 Open Inventor

16 Índice Introducción Arquitectura de OI Base de Datos (primitivas) Componentes de alto nivel Grafo de escena Jerarquía de objetos Implementaciones de Open Inventor

17 Introducción Toolkit 3D C/C++ Orientada a objetos Extensible Aprovecha toda la potencia Hw. Código portable Tiene su propio formato de intercambio de datos *.iv = *.wrl Permite el intercambio de datos entre aplicaciones

18 Introducción Características adicionales (Coin) Soporte sonido 3D Detección de colisiones Soporte threads Orientada a objetos Soporte: 3DS Visualización de volúmenes (Sim Voleon) Otros módulos

19 Introducción Clases básicas Primitivas Nodos de propiedad, forma, grupo Manipuladores Node Kits Engines (Motores) Sensores Acciones Componentes de alto nivel

20 Arquitectura de Inventor Open Inventor Component Library Node kit Manipulator Database Scene Open Inventor 3D Toolkit Open Inventor 3D Interchange File format OpenGL SSOO

21 Arquitectura de Inventor Open Inventor 3D Interchange File format

22 Base de datos Contiene Nodos Agrupados en Scenegraphs Motores Sensores Permite Acciones Renderizado Búsquedas Cálculo de Bounding Box (caja contenedora) Escritura y lectura de un archivo

23 Librería de componentes Librería de componentes Dependiente del gestor de ventanas Contiene Áreas de Renderizado Visualizadores Editores Realiza la inicialización (Base de datos y sistema de ventanas) Trata eventos Los captura Los trata directamente Los transforma para OI

24 Scene Graph La unidad básica de OI son los nodos Los nodos se estructuran en grafos Tienen una estructura muy parecida a los árboles Nodo raíz (nodo de agrupación) Nodos intermedios (nodo de agrupación) Nodos hojas (propiedades, formas, manipuladores..) Un nodo hijo pude tener dos padres El grafo debe ser acíclico

25 Nodos del grafo de la escena

26 Ejemplo de DB Escena 1 Escena 2

27 Lectura del grafo Aplicar acción Arriba a bajo De izquierda a derecha Traversal state (estado trasversal) Acumulación de transformaciones Material Luces

28 Ejemplo de DB Escena 1 Escena 2

29 Objetos OI Convención de nombres Objetos Comienzan por S mayúscula y el comienzo de cada palabra irá también en mayúscula Objetos básicos Sb (scene basic)» SbVec3f Resto de objetos So (scene objet)» SoGroup Objeto de la librería de componentes So[Gestor de ventanas]» SoWinRenderArea, SoQtRenderArea, SoXtRenderArea Métodos y atributos Primera letra con minúscula, y el comienzo de cada palabra en mayúscula addchild() Tipos enumerados Todo en Mayúscula FILLED, FIRST

30 Jerarquía de objetos Objetos Básicos (Sb) Contenedores (CamposFields) Mono-valuados (Single-field SoSF) Multi-valuados (Multi-field SoMF) Objetos heredados de la clase base SoBase Contenedores de Campos SoFieldContainer Motores SoEngine Nodos SoNode Forma Propiedad Grupo Kits Iluminación Cámaras Sensores SoSensor Tiempo SoTimerQueueSensor Otros SoDelayQueueSensor Acciones SoAction Errores SoError Eventos SoEvent Base de Datos SoBD Estado SoState (SoElement) Librería de componentes SoXt, SoWin SoWinObject Componentes (Ventanas) Dispositivos Rutas SoPath

31 Base de datos Contiene los grafos de escena (nodos), los motores y los sensores. Tiene un modelo de eventos independiente del gestor de ventanas Es un objeto único SoDB Ha de ser inicializado Directamente SoBD::init() Inicializando la librería de componentes: SoWin::init() Permite utilizar el formato de intercambio de datos SoSeparator *readall(soinput *fichero)

32 Ejemplo SoSeparator *readfile(const char *filename) { SoInput * datafich = new SoInput(); SoSeparator *sep; if (!datafich->openfile (filename)) { fprintf (stderr,"error: Abriendo generando la base de datos\n" " ->No se encuentra el fichero %s\n",filename); exit (-1); } //Comprobamos que es un fichero válido if (!datafich->isvalidfile ()) { fprintf (stderr,"error: Abriendo generando la base de datos\n" " ->Fichero %s no valido\n",filename); exit (-1); } sep=sodb::readall (datafich); delete datafich; } return sep;

33 Objetos básicos Objetos Básicos (Sb) Tipos básicos, no tienen ningún objeto padre en la jerarquía. Usados por otros objetos OI Ejemplos SbLine, SbName, SbVect3f, SbRotation, SbMatrix, SbViewportRegion

34 Campos (Fields) Contenedores (Fields) Contienen tipos básicos Básicamente se usan para detectar cambios en los campos de la base de datos. Campos mono-valuados (Single-field SoSF) SoSFFloat (float), SoSFRotation (SbRotation) Campos multi-valuados (Multi-field SoMF) SoMFFloat (float), SoMFRotation (SbRotation) Asignación de valores y consulta de valores Mono-valuados Asignación normal: SoSFFloatVar = 3.0f; Uso de los métodos setvalue y getvalue Multi-valuados Como si se tratase de un vector: SoSFFloatVar [1]= 3.0f; Uso de los metodos: getvalue, set1value, setvalues, insertvalues, deletevalues Indica el número de valores que posee: getnum Se pueden conectar

35 SoType Clase de chequeo de tipos SoBase, acciones, eventos, errores SoType permite Obtener el nombre del tipo getname() Crear instancias createinstance() Conocer el clase padre getparent() Conocer el tipo de un nodo por su nombre fromname() Utilidad: saber si un objeto pertenece a una determinada clase o jerarquía Objeto->getTypeId.isDerivedFrom(SoXXXX::getClassTypeID) Objeto->isTypeOf(SoXXXX::getClassTypeID) Objeto->getTypeId==SoXXXX::getClassTypeID Permite realizar búsquedas de un determinado tipo (SoSearchAction) Equivalentes

36 Ejemplo SoSearchAction mysearchaction; // Look for first existing light derived from class SoLight mysearchaction.settype(solight::getclasstypeid()); mysearchaction.setinterest(sosearchaction::first); mysearchaction.apply(root); if (mysearchaction.getpath() == NULL) {// No lights found // Add a default directional light to the scene SoDirectionalLight *mylight = new SoDirectionalLight; root->insertchild(mylight, 0); }

37 Objetos heredados de la clase base SoBase Contenedores de Campos Nodos Forma Propiedad Transformaciones» Manipuladores Apariencia Métricos Grupo Kits Iluminación Cámaras Motores Rutas

38 Creación de nodos Los nodos deben crearse como punteros Deben ser referenciados en la base de datos Directamente ref() Añadiéndolo a un padre addchild(), insertchild() Añadiéndolo a un path o ruta SoPath Añadiéndolo a una lista de nodos SoNodeList Añadiéndolo a un campo o field SoSFNodo SoMFNode Conectándolo de un engine

39 Borrado de nodos No usar delete DECREMENTAR a 0 su contador de referencias (cada operación decrementa en 1 este contador) De forma directa unref() Borrándolo de un nodo padre deletenode() Sacándolo de un path o ruta SoPath Borrándolo de una lista de nodos SoNodeList Cambiando el puntero de campo o field a NULL o con otro valor SoSFNodo SoMFNode Desconectándolo de un engine

40 Quitar referencias sin borrar Se utiliza unrefnodelete() Ejemplo Incorrecto Creas un nodo: new SoCone() Le aplicas una acción (ref/unref) : SoBoundingBoxAction Lo añades a un grupo: addchild() Correcto Creas un nodo new SoCone() Lo referencias: ref Le aplicas una acción: SoBoundingBoxAction Usas unrefnodelete() Lo añades a un grupo: addchild()

41 Nombrado de nodos y motores Descendientes de la clase SoBase Obtener nombre getname() Poner nombre setname() Buscar nodo por nombre SoNode::getByName ()

42 Ejemplo SoSeparator *root = new SoSeparator; root->ref(); //Importante referenciar el nodo raíz root->setname("root"); SoCube *mycube = new SoCube; root->addchild(mycube); mycube->setname("mycube"); SoSphere *mysphere = new SoSphere; root->addchild(mysphere); mysphere->setname("mysphere"); RemoveCube(); void RemoveCube() { //Busca en toda la base de datos, no sólo en una escena SoSeparator *myroot; myroot = (SoSeparator *)SoNode::getByName("Root"); SoCube *mycube; mycube = (SoCube *)SoNode::getByName("MyCube"); myroot->removechild(mycube); }

43 Tipos de nodos Forma Propiedad Transformaciones Manipuladores Apariencia Métricos Grupo Iluminación Cámaras

44 Nodos de forma Formas básicas SoSphere, SoCylinder, SoCone Curvas y superficies (Nurbs) Indexadas SoIndexedNurbsCurve, SoIndexedNurbsSurface No Indexadas SoNurbsCurve, SoNurbsSurface Textos 3D y 2D SoText2, SoText3 Formas compuestas por vértices Indexadas SoIndexedFaceSet, SoIndexedLineSet, SoIndexedTriangleStripSet, No Indexadas SoFaceSet, SoPointSet, SoLineSet, SoQuadMesh, SoPointSet, SoMarkerSet

45 Nodos de propiedad Nodos de transformación (SoTransformation) SoTranslation, SoRotation, SoScale SoTransform SoTransformManip (Manipuladores) Nodos métricos SoNormal, SoCoordinate3

46 Nodos de apariencia Color SoMaterial SoBaseColor Textura Tipo de letra SoFont

47 Nodos de grupo Son contenedores que agrupan nodos de la escena Su clase base es SoGroup. Métodos básicos addchild insertchild removechild (Índice o nodo) Subclases: SoSeparator SoSwitch (whichchild)

48 Nodos de iluminación y nodos cámara Iluminación: iluminan la escena SoGLLightIdElement::getMaxGLSources(); //nº máx luces SoLight Ambiental Puntual (Point) Direccional (Directional) Focal (Spot) Cámara: Muestran parte de la escena SoCamera Proyección en perspectiva Proyección ortográfica

49 Modelo de Eventos Derivan de la clase SoEvent Son enviados por la librería de alto nivel Eventos de teclado, ratón Se recorre el árbol de escena buscando qué nodos pueden tratar el evento sethandled Nodos que tratan eventos Manipuladores SoSelection SoEventCallback

50 Manipuladores Draggers y manipulators. Son nodos que capturan eventos y tienen determinadas respuestas ante ellos. Funcionamiento Capturan el evento Cambian de forma Los manipuladores además son nodos de propiedad Cambian el traversal state Luces Transformaciones Se pueden sustituir por transformaciones o luces replacenode (SoPath *p) replacemanip (SoPath *p, SoTransform *t)

51 Callbacks Son funciones a las que se llama cuando un objeto detecta un evento Nodos Sensores Motores Es una forma de dotar de comportamiento a la escena Ejemplo: SoSelection *grupo= new SoSelection(); grupo->addselectioncallback(seleccioncallback, data); void seleccioncallback(void *userdata, SoPath * path);

52 Ejemplo // An event callback node so we can receive key press events SoEventCallback *myeventcb = new SoEventCallback; myeventcb ->addeventcallback(sokeyboardevent::getclasstypeid(), mykeypresscb, selectionroot); selectionroot ->addchild(myeventcb); // userdata is the selectionroot from main(). Void mykeypresscb(void *userdata, SoEventCallback *eventcb) { SoSelection *selection = (SoSelection *) userdata; const SoEvent *event = eventcb->getevent(); If (SO_KEY_PRESS_EVENT(event, UP_ARROW)) { myscaleselection(selection, 1.1); eventcb->sethandled(); } else if (SO_KEY_PRESS_EVENT(event, DOWN_ARROW)) { myscaleselection(selection, 1.0/1.1); eventcb->sethandled();} }

53 Ejemplo SoEventCallback * ecb = new SoEventCallback; ecb->addeventcallback(soevent::getclasstypeid(), mouse_cb, NULL); root->addchild(ecb); void mouse_cb(void * closure, SoEventCallback * eventcb) { const SoEvent * event = eventcb->getevent(); if (event->isoftype(solocation2event::getclasstypeid())) { const SbVec2s position = event->getposition(); printf("mouse moved: <%i %i>\n", position[0], position[1]); } }

54 Ejemplo SoEventCallback * mouseevent = new SoEventCallback; mouseevent-> addeventcallback(somousebuttonevent::getclasstypeid(), mousecallback,null); root->addchild (mouseevent); SoEventCallback * keyevent = new SoEventCallback; keyevent -> addeventcallback(sokeyboardevent::getclasstypeid(), keycallback,null); root->addchild (keyevent); void mousecallback (void *, SoEventCallback *mouseevent) { const SoEvent *event = mouseevent->getevent (); if (SO_MOUSE_PRESS_EVENT(event, BUTTON1)) { } } //OTRAS MACROS. //SO_KEY_PRESS_EVENT (event, PAD_ADD), //SO_KEY_RELEASE_EVENT (event, Q)

55 CDS

56 Motores o engines Son objetos que conectan campos (fields) Principalmente se usan para animar la escena Entradas: campos (SoField) Salidas: objeto especial (SoEngineOutput) Tipos Aritméticos SoCalculator (lento) Animación Eventos temporales SoTimeCounter Eventos no temporales SoCounter Entrada 1 Entrada 2 Usado para manipular arrays SoSelectOne Se pueden concatenar motores a otros motores Entrada n Los campos pueden ir directamente conectados sin motores connectfrom (otro campo o un salida de un motor) Salida 1

57 Motores o engines

58 Ejemplo SoCalculator *calc=new SoCalculator; SoTranslation *t1=new SoTranslation; SoTranslation *t2=new SoTranslation; //Conectamos dos traslaciones. A una de ellas le //anulamos la coordenada y calc->a.connectfrom(&t1-> translation); t2->translation.connectfrom(&calc->oa); calc->expression.set1value(0,sbstring("oa[0]=a[0]")); calc->expression.set1value(1,sbstring("oa[1]=0")); calc->expression.set1value(2,sbstring("oa[2]=a[2]"));

59 Rutas Objeto SoPath Indican caminos dentro del grafo de escena Es una cadena de nodos donde cada eslabón es hijo del anterior Utilidad Almacenan subgrafos de la escena Todas las acciones que se aplican a un nodo pueden aplicarse a un Path

60 Acciones Clase padre SoAction Son operaciones que se realizan sobre una escena, nodo o ruta. Ejemplos Renderizado SoGlRenderAction Escritura en un fichero SoWriteAction Cálculo de Bounding Boxes SoGetBoundingBoxAction Búsquedas de nodos SoSearchAction Cálculo de la matriz de transformación SoGetMatrixAction

61 Ejemplo SoSeparator * root = new SoSeparator; root->ref(); SoPerspectiveCamera * pcam = new SoPerspectiveCamera; root->addchild(pcam); SoEventCallback * ecb = new SoEventCallback; ecb->addeventcallback(somousebuttonevent::getclasstypeid(), event_cb, viewer); root->addchild(ecb); //Componente de alto nivel utilizado para pintar viewer->setscenegraph( root ); pcam->viewall( root, viewer->getviewportregion() ); // attempting raypick in the event_cb() callback method SoRayPickAction rp( viewer->getviewportregion() ); rp.setpoint(mouseevent->getposition()); rp.apply(viewer->getscenegraph()); rp. getpickedpoint().getpath(); //SoPickedPoint

62 Ejemplo SbMatrix gettrans(sonode *node, SoGroup *root) { SoSearchAction *sa=new SoSearchAction; sa->setnode(node); sa->apply(root); path=searchaction->getpath(); assert(path); } SoGetMatrixAction * gma =new SoGetMatrixAction (SbViewportRegion()); gma->apply(path); return gma->getmatrix()

63 Sensores Derivan de la clase SoSensor Son objetos que detectan cambios en la base de datos Son mecanismos de OI para planificar tareas Existen dos colas de tareas Delay queue: las tareas de esta cola se activan cuando la CPU tiene tiempo libre Timer queue: las tareas de esta cola se activan por un evento temporal Las tareas se activan mediante callbacks

64 Ejemplo viewer->setautoredraw(false); SoTimerSensor* rendertimer = new SoTimerSensor(render,0L); rendertimer->setinterval(render_step); rendertimer->schedule(); void render (void *, SoSensor *) { viewer->render(); }

65 Ejemplo viewer->setautoredraw(false); SoTimerSensor* rendertimer = new SoTimerSensor(render,NULL); rendertimer->setinterval(render_step); rendertimer->schedule(); void render (void *, SoSensor *) { viewer->render(); }

66 Componentes de alto nivel Es propia del gestor de ventanas que utilizamos: SoWin, SoXt, SoGtk, SoQt Nos ofrecen Funciones de inicialización y gestión de ventanas Tratamiento de eventos Áreas para renderizar escenas Componentes para cambiar la escena (editores de materiales ) Capturan los eventos del gestor de ventanas So???::mainLoop() Los utilizan ellos mismos Los pasan a la base de datos Inicialización del gestor de ventanas y la base de datos So???::init

67 Componentes de alto nivel Tipos de objetos Componentes Áreas de renderizado SoWinRenderArea Visualizadores SoWinViewer» SoWinExaminerViewer,SoWinPlaneViewer Otros componentes Dispositivos Captura de eventos Teclado Ratón

68 Ejemplo #include <Inventor/Win/SoWin.h> #include <Inventor/Win/viewers/SoWinExaminerViewer.h> #include <Inventor/nodes/SoBaseColor.h> #include <Inventor/nodes/SoCone.h> #include <Inventor/nodes/SoSeparator.h> int main(int argc, char ** argv) { HWND mainwin = SoWin::init(argc, argv, argv[0]); SoSeparator * root = new SoSeparator; root->ref(); root->addchild(new SoCone); SoWinExaminerViewer * eviewer = new SoWinExaminerViewer(mainwin); eviewer->setscenegraph(root); eviewer->show(); eviewer->settransparencytype(soglrenderaction::sorted_object_blend); SoWin::show(mainwin); SoWin::mainLoop(); // Clean up resources. delete eviewer; root->unref(); return 0; }

69 Relación entre OpenInventor y OpenGl OI permite construir aplicaciones con un alto nivel de abstracción Si no queremos usar los componentes de alto nivel podemos usar OpenGl para el renderizado y el tratamiento de los eventos Nos permite combinar las ventajas de ambos Ejemplo: Pintar un grafo de escena y pasar un filtro al framebuffer. Aumenta la complejidad

70 Implementaciones de OI OI de SGI Gratuito Disponible Irix Linux Coin3d Gratuito con propósitos no comerciales Versión profesional con librerías adicionales Disponible Linux Windows Mac OS X

71 Como utilizar Coin3d con Visual Stutio Instalar las librerias Coin3D Simage (texturas) SoWin o SoQt (según el gestor de ventanas que vayamos a utilizar) Crear una variable de entorno con la dirección de la librería $(COIN3DDIR) C:\COIN3D\ Introducir en el path donde están las dlls $(PATH) C:\COIN3D\BIN Volver a arrancar el sistema

72 Como utilizar Coin3d con Visual Stutio Crear un proyecto Aplicación de consola Vacía Configurar el proyecto C/C++ Preprocessor definition Introducir las variables de entorno de Coin» SIMAGE_DLL, COIN_DLL, SOWIN_DLL» SIMAGE_NOT_DLL, COIN_NOT_DLL, SOWIN_NOT_DLL Preprocessor -> Additional Include Files $(COIN3DDIR)\Include Link Object Library Modules $(COIN3DDIR)\lib\SoWin1.lib $(COIN_DIR)\lib\simage1.lib $(COIN3DDIR)\lib\Coin2.lib

73 Como utilizar Coin3D con gcc Instalación Descargar librerías (Simage, coin, SoXt) Recompilarlos en el orden anterior tar xvfz nombre_paquete-x.y.z.tar.gz cd nombre_paquete-x.y.z./configure make make install (como root) Utilizar los comandos coin-config y soxt-config para compilar y enlazar soxt-config --build nombre_programa fich1.cpp fichn.cpp Para obtener más información sobre estos programas utiliza --help

74 Eon Studio

75 Índice Introducción Paquetes Componentes Arquitectura e interfaz

76 Introducción Toolkit 3D Interfaz gráfico Funciona solo bajo Microsoft Windows Toolkit propietaria Extensible Da soporte para algún dispositivo I/O Cuevas Trackers Funciona sobre DirectX o OpenGl No es una herramienta de modelado Importa modelos (Okino) Dota a los modelos de comportamiento

77 Paquetes Eon Studio Importa modelos Utiliza Okino Creación de modelos interactivos No se necesita experiencia en programación Eon Inmersive Extensión de Eon Studio No incluido en el paquete básico Permite utilizar Eon con dispositivos RV Eon Viewer Permite visualizar proyectos Eon Gratuito

78 Paquetes Eon Raptor Plugin para 3D Studio SDK Librerías de C++ Totalmente integrado con Visual C++ Contiene nuevos wizards Basado en tecnología COM Permite extender los nodos y módulos de Eon Studio Permite integrar modelos Eon en nuestras aplicaciones Eon Turbo Permite publicar en la web modelos Eon Eon Xtra Plugin para explorer Permite visualizar modelos Eon

79 Componentes Árbol de simulación Contiene todos los objetos que participan en la simulación (nodos) Scene graph Nodos Todos los objetos Eon son nodos que se cuelgan del árbol. Tipos Grupo Render Agentes Sensores Modelos de movimiento Scrips

80 Componentes Campos Variables contenidas en los nodos Tipos de datos Números Cadenas Arrays Booleanos Punteros Vectores geométricos (traslaciones, rotaciones ) Tiempo Nodos Clases de campo Field: Campos internos de un nodo EventIn: Campos que recibe un nodo como eventos de entrada EventOut: Campos que recibe un nodo como eventos de salida ExposedField: Campos que pueden ser tratados tanto como eventos de entrada como eventos de salida.

81 Componentes Conexiones y rutas Se define el comportamiento de los nodos conectando sus campos Prototipos Encapsulan nodos y sus conexiones internas

82 Arquitectura

83 Interfaz

Programación de aplicaciones RV

Programación de aplicaciones RV Bibliografía Programación de aplicaciones RV TÉCNICAS Y DISPOSITIVOS DE REALIDAD VIRTUAL MASTER EN INFORMÁTICA GRÁFICA, JUEGOS Y REALIDAD VIRTUAL Marcos García Marcos.garcía@urjc.es Virtual Reality Technology

Más detalles

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) {

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) { Solución 4: /******************************************************** * * Este programa permite visualizar ficheros iv (vrml) * ********************************************************/ //Según el sistema

Más detalles

INGENIERÍA INFORMÁTICA Curso Académico 2006/2007. Sofía Bayona Beriso Francisco Javier Sánchez Zurdo. Realidad Virtual y Animación 1

INGENIERÍA INFORMÁTICA Curso Académico 2006/2007. Sofía Bayona Beriso Francisco Javier Sánchez Zurdo. Realidad Virtual y Animación 1 INGENIERÍA INFORMÁTICA Curso Académico 2006/2007 Sofía Bayona Beriso Francisco Javier Sánchez Zurdo Realidad Virtual y Animación 1 PÁGINA DE LA ASIGNATURA http://dac.escet.urjc.es/docencia/rva/ Realidad

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Capítulo VI: Java 3D

Capítulo VI: Java 3D Capítulo VI: Java 3D 6.1 Definición Java 3D es un API de gráficos 3D desarrollada por Sun como una extensión del JDK 2 del lenguaje de programación Java. Es una colección de clases que tienen como objetivo

Más detalles

Desarrollo de técnicas cooperativas para un editor de objetos 3D

Desarrollo de técnicas cooperativas para un editor de objetos 3D Desarrollo de técnicas cooperativas para un editor de objetos 3D Proyecto de Fin de Carrera Ingeniería Informática David Sánchez Crespillo Universitat de les Illes Balears Año 2000 Índice General 1. Introducción

Más detalles

PROFESORES Y TUTORÍAS TEMARIO PÁGINA DE LA ASIGNATURA. http://dac.etsii.urjc.es/docencia/rva

PROFESORES Y TUTORÍAS TEMARIO PÁGINA DE LA ASIGNATURA. http://dac.etsii.urjc.es/docencia/rva INGENIERÍA INFORMÁTICA Curso Académico 2011/2012 PÁGINA DE LA ASIGNATURA http://dac.etsii.urjc.es/docencia/rva Realidad Virtual y Animación 1 Realidad Virtual y Animación 2 PROFESORES Y TUTORÍAS Álvaro

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Dr. Queue con Blender Una granja de render GNU Por Alexandre Silva Costa anakinpendragon@yahoo.com.br

Dr. Queue con Blender Una granja de render GNU Por Alexandre Silva Costa anakinpendragon@yahoo.com.br Dr. Queue con Blender Una granja de render GNU Por Alexandre Silva Costa anakinpendragon@yahoo.com.br Este artículo tiene la intención de enseñar a usar el soft de animaciones blender con la granja de

Más detalles

REALIZACIÓN DE UN MOTOR DE RENDER PARA DISPOSITIVOS MÓVILES BASADO EN IRRLICHT. Autor: Javier Meseguer de Paz Dirigido por: Antonio Berlanga de Jesús

REALIZACIÓN DE UN MOTOR DE RENDER PARA DISPOSITIVOS MÓVILES BASADO EN IRRLICHT. Autor: Javier Meseguer de Paz Dirigido por: Antonio Berlanga de Jesús REALIZACIÓN DE UN MOTOR DE RENDER PARA DISPOSITIVOS MÓVILES BASADO EN IRRLICHT Autor: Javier Meseguer de Paz Dirigido por: Antonio Berlanga de Jesús Plan de la presentación Introducción Estado del arte

Más detalles

3.4. Reload Editor ( Guía de Uso).

3.4. Reload Editor ( Guía de Uso). 3.4. Reload Editor ( Guía de Uso). Anterior 3. Lors Management Siguiente 3.4. Reload Editor ( Guía de Uso). 3.4.1. Preguntas básicas sobre Reload Editor. - Qué hace el programa Reload Editor? RELOAD Editor

Más detalles

El Sistema Operativo Linux

El Sistema Operativo Linux Introducción El Sistema Operativo Linux La mayor parte de los ordenadores que existen en la actualidad están diseñados de forma que puedan ejecutar diversas tareas o programas. Es evidente, que si cada

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Creación de Videojuegos en OpenGL

Creación de Videojuegos en OpenGL Prof. Esmitt Ramírez J. Creación de Videojuegos en OpenGL XII-V-X Agenda OpenGL Juegos de Video Modelación Rendering Iluminación y Texturas Otros Aspectos Videos Ideas Finales OpenGL API para desarrollar

Más detalles

Versión 1.1 Fecha: 13-10-2002 Autores: Francisco González García Ismael García Fernández

Versión 1.1 Fecha: 13-10-2002 Autores: Francisco González García Ismael García Fernández INFORME DE LAS HERRAMIENTAS DE DESARROLLO PARA LA PLAYSTATION 2 Versión 1.1 Fecha: 13-10-2002 Autores: Francisco González García Ismael García Fernández LIBRERIAS Y UTILIDADES: LIBRERIA PS2DEV La librería

Más detalles

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

CURSO. Unity. Powered by. duración 150 horas. precio 1.750. contenido del curso en el interior

CURSO. Unity. Powered by. duración 150 horas. precio 1.750. contenido del curso en el interior CURSO Unity Powered by duración 150 horas precio 1.750 contenido del curso en el interior PRESENTACIÓN Y OBJETIVOS Mauricio García. Programador en The Game Kitchen UNITY es la herramienta de desarrollo

Más detalles

GUÍA PRÁCTICA PARA EL DESARROLLO DE APLICACIONES BASADAS EN DETECCIÓN Y SEGUIMIENTO FACIAL CON KINECT YURANNY CASTRO HERNÁNDEZ

GUÍA PRÁCTICA PARA EL DESARROLLO DE APLICACIONES BASADAS EN DETECCIÓN Y SEGUIMIENTO FACIAL CON KINECT YURANNY CASTRO HERNÁNDEZ GUÍA PRÁCTICA PARA EL DESARROLLO DE APLICACIONES BASADAS EN DETECCIÓN Y SEGUIMIENTO FACIAL CON KINECT YURANNY CASTRO HERNÁNDEZ JUAN CARLOS BEJARANO JIMÉNEZ FACULTAD DE INGENIERÍA UNIVERSIDAD AUTÓNOMA DEL

Más detalles

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2) 1. Qué es un sistema operativo?...2 2. Funciones de los sistemas operativos...2 3. Windows...2 3.1. La interfaz gráfica...2 3.2. La administración y los usuarios...3 3.3. El sistema de archivos...3 3.4.

Más detalles

Fundamentos de software. Introducción a la Informática 2010-2011

Fundamentos de software. Introducción a la Informática 2010-2011 Fundamentos de software Introducción a la Informática 2010-2011 Objetivos Describir las 3 categorías principales de software y su relación Explicar la correspondencia entre algoritmos y programas Discutir

Más detalles

Estudio comparativo de distintos lenguajes de programación n orientados a objeto

Estudio comparativo de distintos lenguajes de programación n orientados a objeto Estudio comparativo de distintos lenguajes de programación n orientados a objeto Cristo Manuel Amezcua Martínez Felipe Molina de la Torre Marta Moreno Mata David Rivas Ortega Orientación n a Objetos Herencia

Más detalles

Programación 2 Curso 2013 2014. Guía de desarrollo C/C++ con Eclipse

Programación 2 Curso 2013 2014. Guía de desarrollo C/C++ con Eclipse Programación 2 Curso 2013 2014 Introducción Guía de desarrollo C/C++ con Eclipse Eclipse 1 es un entorno de programación que permite el desarrollo de aplicaciones en diferentes lenguajes. Consta de un

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

Demo FireMonkey La nueva generación de desarrollo de aplicaciones de negocio

Demo FireMonkey La nueva generación de desarrollo de aplicaciones de negocio Demo FireMonkey La nueva generación de desarrollo de aplicaciones de negocio Renacimiento del software de consumo Experiencia de usuario rica con medios y gráficos Intuitivo e interactivo fácil de aprender

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

App Inventor. Alejandro Correa Rodríguez Sara Rijo García. alu0100354577@ull.edu.es alu0100505665@ull.edu.es

App Inventor. Alejandro Correa Rodríguez Sara Rijo García. alu0100354577@ull.edu.es alu0100505665@ull.edu.es App Inventor Alejandro Correa Rodríguez Sara Rijo García alu0100354577@ull.edu.es alu0100505665@ull.edu.es Índice 1. Introducción 2. Primeros pasos en App Inventor 3. Elementos básicos de App Inventor

Más detalles

Práctica 3: Utilización de Charts dobles, Waveforms Graphs, propiedades de gráficos, creación de Waveforms y su almacenamiento en disco.

Práctica 3: Utilización de Charts dobles, Waveforms Graphs, propiedades de gráficos, creación de Waveforms y su almacenamiento en disco. Práctica 3: Utilización de Charts dobles, Waveforms Graphs, propiedades de gráficos, creación de Waveforms y su almacenamiento en disco. En esta práctica se partirá de la aplicación practica2.vi generada

Más detalles

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos

Más detalles

Programación de Sistemas

Programación de Sistemas Programación s Unidad 2 s Operativos y Programación Software Base Contenido Introducción a los s Operativos (SO) Definición y conceptos SO Visualización un sistema cómputo s distintos puntos vista Capas

Más detalles

Enseñanza de programación multihilo y controladores de dispositivo en entornos Windows para alumnos de electrónica

Enseñanza de programación multihilo y controladores de dispositivo en entornos Windows para alumnos de electrónica Enseñanza de programación multihilo y controladores de dispositivo en entornos Windows para alumnos de electrónica A. Da Silva, V. Hernández y J.F. Martínez Departamento de Ingeniería y Arquitecturas Telemáticas.

Más detalles

Curso de verano. Biología Computacional: Análisis masivo de datos ómicos

Curso de verano. Biología Computacional: Análisis masivo de datos ómicos Curso de verano Biología Computacional: Análisis masivo de datos ómicos Centro Mediterráneo Universidad de Granada Con la colaboración de: Departamento de Arquitectura y Tecnología de Computadores Consejo

Más detalles

CURSO Y PROYECTO DE INDIE GAMES PARA IOS

CURSO Y PROYECTO DE INDIE GAMES PARA IOS CURSO Y PROYECTO DE INDIE GAMES PARA IOS OCTUBRE 2013 DATOS DEL CURSO DURACIÓN TOTAL: 220 horas divididas en 9 meses, 6 de formación y 3 de proyecto final en el que se desarrollará un juego completo para

Más detalles

Seminario de Java. Contenido

Seminario de Java. Contenido Seminario de Java Programación Orientada a Objetos Curso 2006/2007 Contenido 1. Introducción 2. Primeros pasos con Java. El entorno Eclipse 3. La sintaxis del lenguaje Java 4. Clases y objetos 5. Cadenas

Más detalles

Modelado y Simulación 3D en Ejs. Carlos A. Jara Bravo Grupo AUROVA. Universidad de Alicante

Modelado y Simulación 3D en Ejs. Carlos A. Jara Bravo Grupo AUROVA. Universidad de Alicante Modelado y Simulación 3D en Ejs Carlos A. Jara Bravo Grupo AUROVA. Universidad de Alicante Índice de la presentación. Motivación. Estructura software de la librería 3D. Capacidades gráficas. Algunos ejemplos

Más detalles

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D.

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D. Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Laboratorio de C.A.D. UMH 1 1.1. INTRODUCCIÓN 1.2. SOFTWARE NECESARIO 1.3. CONFIGURACIÓN DEL PROYECTO EN VS2010

Más detalles

Prácticas de programación en C con MinGW Developer Studio

Prácticas de programación en C con MinGW Developer Studio Prácticas de programación en C con MinGW Developer Studio MinGW Developer Studio es un entorno de desarrollo integrado (IDE) para la programación en lenguaje C gratuito y cómodo de usar. Se ejecuta en

Más detalles

%& %)& '$!%*+ $, %%%&$ %%

%& %)& '$!%*+ $, %%%&$ %% OBJETIVO!!"#$$ %& '(%"#% (% %& %)& '$!%*+ $, %%%&$ %% REQUERIMIENTOS SOFTWARE VERSIÓN LINK Java Development Kit (JDK) 6 http://java.sun.com NetBeans 6.1 http://www.netbeans.org MySQL 5.0 http://dev.mysql.com/

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID 1. Entorno de desarrollo y primera aplicación 1. El mundo Android 1.1 Android y las versiones 1.2 Personalizaciones del sistema operativo. 1.3 Dispositivos Android

Más detalles

Descarga, instalación y uso de herramientas:

Descarga, instalación y uso de herramientas: Descarga, instalación y uso de herramientas: Eclipse: Instalación de Eclipse (Más información en http://www.eclipse.org/) 1. Copiar, descomprimir e instalar si es necesario la última versión de Eclipse

Más detalles

Apéndice A Herramientas utilizadas

Apéndice A Herramientas utilizadas Apéndice A Herramientas utilizadas A.1 Java Media Framework El Java Media Framework (JMF) es una interfaz para el desarrollo de aplicaciones (API) e incorpora el manejo de audio y video en el lenguaje

Más detalles

Quienes somos: Profesores:

Quienes somos: Profesores: Evolis Centro de Formación, SL Escuela especializada en formación 3D, Diseño y Programación de Videojuegos Quienes somos: EVOLIS lleva una década impartiendo formación en todas las modalidades: Presenciales,

Más detalles

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

videalab Uso de software libre en investigación y explotación de aplicaciones gráficas Alberto Jaspe (jaspe@videalab.udc.es)

videalab Uso de software libre en investigación y explotación de aplicaciones gráficas Alberto Jaspe (jaspe@videalab.udc.es) videalab Uso de software libre en investigación y explotación de aplicaciones gráficas Alberto Jaspe (jaspe@videalab.udc.es) Índice I. El laboratorio videalab II. III. IV. SW libre vs. SW propietario La

Más detalles

Capítulo 3: Desarrollo e Implementación

Capítulo 3: Desarrollo e Implementación Capítulo 3: Desarrollo e Implementación En el capítulo 2 se presenta el diagrama del modelo entidad-relación (figura 2.3) que la estructura básica de la arquitectura de la herramienta de software que este

Más detalles

Tema 2: La Tecnología Java

Tema 2: La Tecnología Java Tema 2: La Tecnología Java 0 La Tecnología de Java Es : Un lenguaje de programación Similar a C/C++ sin los problemas de manejo de memoria. Un ambiente de desarrollo Compilador, intérprete, generados de

Más detalles

Introducción a la programación (Java)

Introducción a la programación (Java) Introducción a la programación (Java) Preparar las herramientas de desarrollo Introducción La primera parte de este documento es una guía para la instalación del software necesario para realizar programas

Más detalles

CURSOS de DISEÑO y PROGRAMACIÓN de VIDEOJUEGOS

CURSOS de DISEÑO y PROGRAMACIÓN de VIDEOJUEGOS CURSOS de DISEÑO y PROGRAMACIÓN de VIDEOJUEGOS Introducción Te apasionan los videojuegos? Conoces todas las plataformas? Y todos los géneros? Crees tener la idea que revolucionara el mercado? Quieres aprender

Más detalles

Manual de utilización del Graphic Annotation Tool (GAT) para secuencias de vídeo

Manual de utilización del Graphic Annotation Tool (GAT) para secuencias de vídeo Tecnologías para la Creación y Gestión Automatizada de Contenidos Audiovisuales Inteligentes Manual de utilización del Graphic para secuencias de vídeo i3media No. Identificación: C Nivel de Confidencialidad:

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

BÁSICOS APP INVENTOR. Manual de Introducción a AppInventor

BÁSICOS APP INVENTOR. Manual de Introducción a AppInventor BÁSICOS APP INVENTOR Manual de Introducción a AppInventor Contenido 1. Qué es AppInventor?... 2 2. Qué tipo de aplicaciones pueden crearse con AppInventor?... 3 3. Cómo se construye una aplicación en

Más detalles

La Fase de Diseño. QUÉ vamos a hacer? CÓMO lo vamos a hacer? Gestión de Proyectos: La Fase de Diseño

La Fase de Diseño. QUÉ vamos a hacer? CÓMO lo vamos a hacer? Gestión de Proyectos: La Fase de Diseño QUÉ vamos a hacer? CÓMO lo vamos a hacer? Pág. 1 1. Selección de herramientas 1.1 Motor gráfico. 1.2 Motor físico. 1.3 Herramienta de modelado y animación. 1.4 Lenguaje de programación. 1.5 Gestor de proyectos.

Más detalles

1 Introducción a Delphi 2.0 Punto de partida Contenido de este libro Cómo se puede leer este libro Instalación del CD 2 Delphi 2.0 Cambios al entorno

1 Introducción a Delphi 2.0 Punto de partida Contenido de este libro Cómo se puede leer este libro Instalación del CD 2 Delphi 2.0 Cambios al entorno 1 Introducción a Delphi 2.0 Punto de partida Contenido de este libro Cómo se puede leer este libro Instalación del CD 2 Delphi 2.0 Cambios al entorno Cambios al lenguaje Cambios al compilador Nuevos objetos

Más detalles

Apéndice B. Telefonía a través de Microsoft TAPI 1. B1. Microsoft TAPI y algunos detalles de la corrida con CSLU Toolkit

Apéndice B. Telefonía a través de Microsoft TAPI 1. B1. Microsoft TAPI y algunos detalles de la corrida con CSLU Toolkit Apéndice B. Telefonía a través de Microsoft TAPI 1 B1. Microsoft TAPI y algunos detalles de la corrida con CSLU Toolkit El archivo que hace la llamada es TAPISend que se encuentra en formato ejecutable.

Más detalles

Desarrollo de videojuegos Fernando Berzal, berzal@acm.org Herramientas de desarrollo Motores de videojuegos[gamegame engines] http://en.wikipedia.org/wiki/game_engine Sistemas diseñados para la creación

Más detalles

Cómo crear un fichero de ayuda para tus aplicaciones?

Cómo crear un fichero de ayuda para tus aplicaciones? Cómo crear un fichero de ayuda para tus aplicaciones? USANDO HTML HELP WORKSHOP HTML Help Workshop es una aplicación diseñada para proporcionar un sistema simple para crear y administrar proyectos de ayuda

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Integración de NetBeans con OpenOffice.org

Integración de NetBeans con OpenOffice.org Integración de NetBeans con OpenOffice.org Índice de contenido Licencia...1 Alcance...1 Antrecedentes...1 Instalación del módulo de desarrollo en NetBeans...2 Configurar...7 Creando una función para Calc...8

Más detalles

1. CARACTERÍSTICAS DE LINUX.

1. CARACTERÍSTICAS DE LINUX. UNIDAD 1: EL SISTEMA OPERATIVO LINUX 1. CARACTERÍSTICAS DE LINUX. El sistema operativo LINUX es un conjunto de programas y una serie de utilidades que permiten al usuario gestionar los recursos hardware

Más detalles

ÍNDICE SISTEMAS OPERATIVOS... 5

ÍNDICE SISTEMAS OPERATIVOS... 5 INTRODUCCIÓN HABILIDADES INFORMÁTICAS BÁSICAS PARA ADULTOS SKILLS es un completo curso destinado a alumnos adultos, en particular, a empleados de mayor edad, de forma que puedan adquirir/mejorar sus conocimientos

Más detalles

Gestión de archivos (módulo transversal, MF0978_2)

Gestión de archivos (módulo transversal, MF0978_2) Gestión de archivos (módulo transversal, MF0978_2) Curso de capacitación para la obtención del módulo formativo Gestión de archivos del Certificado de profesionalidad (código MF0978_2), asociado a la unidad

Más detalles

Paquete office 2007 PROGRAMA FORMATIVO. Código: INFO042. Duración: 75 horas. Objetivos: Contenidos: Office 2007

Paquete office 2007 PROGRAMA FORMATIVO. Código: INFO042. Duración: 75 horas. Objetivos: Contenidos: Office 2007 Paquete office 2007 Código: INFO042 Duración: 75 horas Objetivos: Office 2007 Crear y elaborar documentos, formatos, numeración, viñetas, etc. Crear presentaciones, efectos especiales, plantillas, barra

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL UNIVERSIDAD NACIONAL DE INGENIERÍA CURSO DE JAVA CERTIFICA ORGANIZA Mayor Información: informes@uni.edu.pe Telf. : 481-6693 /381-3854 Visite Nuestra Web http://www.ceps.uni.edu..pe OBJETIVOS GENERALES

Más detalles

Práctica1. Introducción a Microsoft Access. Qué es Access?

Práctica1. Introducción a Microsoft Access. Qué es Access? Práctica1. Introducción a Microsoft Access Los sistemas de información empresariales tienen como misión el proporcionar información precisa en el momento adecuado, tanto para la gestión y realización de

Más detalles

Paradigmas de Programación Práctica II - Curso 2012/13

Paradigmas de Programación Práctica II - Curso 2012/13 Paradigmas de Programación Práctica II - Curso 2012/13 Distorsión de Imágenes II Definición y requisitos Esta práctica es una continuación de la práctica anterior (distorsión de imágenes) en la que vamos

Más detalles

Fundamentos de programación I. - Anexo de Software -

Fundamentos de programación I. - Anexo de Software - Fundamentos de programación I - - 1. Introducción 1.1. Introducción a Dev-C++ y DJGPP 1.1.1. Qué es Dev-C++? Dev-C++ es un Entorno Integrado de Desarrollo (Integrated Development Environment, IDE) capaz

Más detalles

El lenguaje de programación Java

El lenguaje de programación Java Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red

Más detalles

Capítulo 4. Implementación del lenguaje multitáctil

Capítulo 4. Implementación del lenguaje multitáctil Capítulo 4. Implementación del lenguaje multitáctil En este capítulo se presenta como fue diseñado y desarrollado el servicio de ademanes multitáctiles. Se presentan la arquitectura general del sistema,

Más detalles

PRÁCTICA SOFTWARE OPERATIVO Y DE DESARROLLO Parte I. Objetivos

PRÁCTICA SOFTWARE OPERATIVO Y DE DESARROLLO Parte I. Objetivos Objetivos El alumno conocerá algunos tipos de software operativo existentes que le serán útiles en su desempeño académico y profesional. Al final de esta práctica el alumno podrá: 1. Distinguir varias

Más detalles

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid Anexo IV Configuración del Entorno de Desarrollo Guía de puntos de interés de la Ciudad de Madrid 1. Índice Anexo IV Configuración del Entorno de Desarrollo... 1 1. Índice... 2 2. Entorno de Desarrollo...

Más detalles

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Programa de Capacitación y Certificación. INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Contenido PERFIL DE UN ESPECIALISTA EN BASES DE DATOS.... 3 6231. MANTENIENDO UNA BASE DE DATOS DE SQL SERVER 2008

Más detalles

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java Qué es? Introducción a es Un lenguaje de programación Un entorno de desarrollo Un entorno de ejecución de aplicaciones Un entorno de despliegue de aplicaciones Utilizado para desarrollar, tanto applets

Más detalles

Tema 2. Software. Fundamentos de Informática Grado en Ingeniería Mecánica

Tema 2. Software. Fundamentos de Informática Grado en Ingeniería Mecánica Tema 2. Software. Fundamentos de Informática Grado en Ingeniería Mecánica Definición de software «Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que

Más detalles

Guía práctica PHP 6. (c) Francisco Charte Ojeda

Guía práctica PHP 6. (c) Francisco Charte Ojeda Guía práctica PHP 6 Agradecimientos Sobre el autor (c) Francisco Charte Ojeda Introducción Páginas de servidor PHP Creación de páginas PHP Cómo usar este libro Convenciones tipográficas 1. Instalación

Más detalles

CAPITULO 7. MS SQL Server Express Edition

CAPITULO 7. MS SQL Server Express Edition CAPITULO 7 MS SQL Server Express Edition 7.1 Requerimientos Previos El proceso de instalación de Microsoft SQL Server 2008 no es complejo y es de gran importancia tener en cuenta que se está realizando

Más detalles

Capítulo 1 EMBEDDED VISUAL C++ (EVC)

Capítulo 1 EMBEDDED VISUAL C++ (EVC) Capítulo 1 EMBEDDED VISUAL C++ (EVC) 0 Introducción En la presente práctica se pretender ofrecer la primera toma de contacto con el entorno de desarrollo que se usa para programar PDAs en el lenguaje de

Más detalles

Proyecto final elo329: utilizacion de LWJGL para java 3D. - Gabriel Juri - Andrés Medina - Lukas Perez

Proyecto final elo329: utilizacion de LWJGL para java 3D. - Gabriel Juri - Andrés Medina - Lukas Perez Proyecto final elo329: utilizacion de LWJGL para java 3D. Integrantes: - Carlos Ibañez - Gabriel Juri - Andrés Medina - Lukas Perez Descripcion del Problema. Videojuegos estan cada vez mas presentes en

Más detalles

Interfaces y Manejadores de Dispositivos

Interfaces y Manejadores de Dispositivos Informática Electrónica Unidad 6 Interfaces y Manejadores de Dispositivos Modalidad y Materiales Dos clases expositivas a cargo del docente responsable (jlsimon@fceia.unr.edu.ar) Una práctica cargo de

Más detalles

GLOSARIO DE TÉRMINOS

GLOSARIO DE TÉRMINOS MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles

Entorno de programación de Sistemas Operativos.

Entorno de programación de Sistemas Operativos. Entorno de programación de Sistemas Operativos. La programación de aplicaciones sobre sistemas operativos supone conocer y usar las bibliotecas con las llamadas al sistema operativo. Para hacer una aplicación

Más detalles

TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN

TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN 1 SISTEMAS OPERATIVOS. INTRODUCCIÓN. Un sistema operativo es un programa (software) que se inicia al encender el ordenador, se encarga de gestionar

Más detalles

Maquinas Virtuales - VirtualBox. Talleres ETSIIT 2010-2011 Oficina de Software Libre Universidad de Granada José Antonio Serrano García

Maquinas Virtuales - VirtualBox. Talleres ETSIIT 2010-2011 Oficina de Software Libre Universidad de Granada José Antonio Serrano García Maquinas Virtuales - VirtualBox Talleres ETSIIT 2010-2011 Oficina de Software Libre Universidad de Granada José Antonio Serrano García Maquina virtual En informática una máquina virtual es un software

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

Versión:v01r06 Fecha: 07/11/2013. Plataforma @firma. Matriz de compatibilidad del cliente 3.3.1

Versión:v01r06 Fecha: 07/11/2013. Plataforma @firma. Matriz de compatibilidad del cliente 3.3.1 Versión:v01r06 Fecha: 07/11/2013 Queda prohibido cualquier tipo de explotación y, en particular, la reproducción, distribución, comunicación pública y/o transformación, total o parcial, por cualquier medio,

Más detalles

Plataforma @firma Matriz de compatibilidad de applet 3.4

Plataforma @firma Matriz de compatibilidad de applet 3.4 Versión:v01r00 Fecha: 25/05/2015 Queda prohibido cualquier tipo de explotación y, en particular, la reproducción, distribución, comunicación pública y/o transformación, total o parcial, por cualquier medio,

Más detalles

Hands-On Lab. Windows Azure: Java, Eclipse y Azure. Última Actualización: 16/12/2011

Hands-On Lab. Windows Azure: Java, Eclipse y Azure. Última Actualización: 16/12/2011 Hands-On Lab Windows Azure: Java, Eclipse y Azure Última Actualización: 16/12/2011 1 Contenido INTRODUCCIÓN... 3 Objetivos 3 Prerequisitos 4 PREPARANDO EL ENTORNO... 5 Instalar Windows Azure Toolkit para

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

Más detalles

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos) Presentación 1. Historia 11 1.1 Por qué Java? 11 1.2 Objetivos del diseño de Java 12 1.3 Auge de Java 13 2. Características de Java 14 2.1 El lenguaje de programación Java 14 2.1.1 Sencillo 15 2.1.2 Orientado

Más detalles

Módulo 1 El lenguaje Java

Módulo 1 El lenguaje Java Módulo 1 El lenguaje 1.1 Presentación de es un lenguaje de programación desarrollado por la empresa Sun Microsystems en 1991 como parte de un proyecto secreto de investigación llamado Green Proyect, con

Más detalles

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Entre los más conocidos editores con interfaz de desarrollo tenemos: Herramientas de programación Para poder programar en ensamblador se precisa de algunas herramientas básicas, como un editor para introducir el código, un ensamblador para traducir el código a lenguaje

Más detalles

C/M GESTION ADMINISTRATIVA MODULO: APLICACIONES INFORMÁTICAS

C/M GESTION ADMINISTRATIVA MODULO: APLICACIONES INFORMÁTICAS C/M GESTION ADMINISTRATIVA MODULO: APLICACIONES INFORMÁTICAS 1. OBJETIVOS GENERALES.- Con este módulo se pretender formar a un técnico que sea capaz de utilizar herramientas informáticas y de aplicación

Más detalles

Actividades didácticas con JClic DEFINICIÓN DE JCLIC

Actividades didácticas con JClic DEFINICIÓN DE JCLIC DEFINICIÓN DE JCLIC Qué es JClic? Dependiendo del punto de vista desde el que abordemos esta pregunta las respuestas pueden ser varias. La más sencilla de todas, desde el punto de vista funcional, dice:

Más detalles

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain basado en PTXdist sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto.

Más detalles

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación )

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación ) Clase:003 1 Unidad I Introducción a la programación de Dispositivos Móviles (Continuación ) 2 Entornos de Desarrollo Virtualizaciones. Agenda IDE s. Y Lenguajes de Programación. 3 Virtualización Que es

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles