Skip to content

**** ****

Juan Jose Maria

Applied Informatic 2

NATIONAL UNIVERSITY OF THE ARTS (UNA): Transdepartmental Area of Multimedia Arts

Tirigall Chair

Study program adjusted to the minimum contents

The examples will be made with the C++ programming language using the advanced tools of openFramewoks (set of tools for the development of interactive applications). It is not necessary for the student to have prior knowledge of C++ or openFrameworks.

UNIT I: Object Oriented Programming and Videogames

The culture of free circulation: open source, copyleft, free software.
Video game development using object-oriented programming in C++. Scope of classes and access to members of a class. Class methods, constructors and destructors. How do pointers use memory? this pointer and constant pointers. Dynamic memory management with the new and delete operators. Work with pointers and references. Inheritance. Base classes and derived classes. Members protected. Constructors and destructors in derived classes. Polymorphism.

UNIT II: Advanced programming in C++ with openFrameworks

2D drawing, primitive geometries, vectors and ofPoint. Coordinate system transformations, color operations. Using the Frame Buffer Object (FBO) to draw off the screen. Construction of particle systems. Types of interaction, calculation of the physical properties of particles. Control of the parameters of each particle. Definition of the methods and properties of the particles. Development of an emitter system with attraction, repulsion and centrifugal forces. Physics bookstores. Implementation of a graphical user interface. Images and textures. Creation and modification of images. Using ofTexture to optimize memory. Audio and video. Processes for handling audiovisual elements. Introduction to 3D drawing and Shaders. Complex Systems: Autonomous Agents, Cellular Automata, Fractals and Neural Networks.

UNIT III: Real-time sound and video control

Applications for real-time sound control. Sound capture and analysis: Introduction to the Fourier Transform and its implementation in an interactive application. Noise damping criteria in signals and filtering. Using the microphone as a sensor. Audio analysis: frequency, pitch, MIDI notes, amplitude, temporal analysis (attacks, sustains and decays), derivative analysis, average and variance of the signal. Sound libraries for openFrameworks. Mapping between audio and image: relationship criteria and analogies. Communication protocols between applications: OSC.
Image synthesis: Generation and repetition of modules, linear transformations, trigonometric functions, spatial transformations and three-dimensionality, symmetry relationships and self-similarity. Simulation of indeterminacy through pseudo-randomness. Continuity in randomness: Perlin noise. Get image palette. Polar and Cartesian coordinates, lines and directions, walkers. Dynamic layers and masks. Generation of strokes, brushes and textures. Patterns and composition.

UNIT IV: Optical capture of position and movement

Optical Motion Capture: Brightness Threshold Capture, Color Tracking Capture, Still Frame Reference Video Subtraction Capture, Delayed Video Subtraction Capture, Independent Region Capture. Calculation of movement parameters. Capture of independent shapes and contour analysis: Blob Detection. Blobs tracking over time, identity preservation. Motion capture by Optical Flow. Combination of capture systems. Advantages and disadvantages of the different systems. Infrared lighting systems and infrared cameras. Calibration in capture and projection systems on a stage. Libraries for motion capture. Monitoring of body movement, strategies to follow.

UNIT V: Tangible Interfaces and Augmented Reality

Augmented Reality Techniques. Creation of touch-sensitive screens through optical motion capture. Tools and libraries for capturing patterns for the realization and construction of tangible interfaces. Reactable and ReacTiVision: Pattern capture, operating logic, tree of inclusions. Communication between ReacTiVision and other programs using the OSC protocol. Basic video-mapping techniques: volumetric projections through trapezoidal deformation of the image. Calibration between camera and projector for the creation of dynamic and interactive video-mapping.

Practical works of the Students

Videos of student practical work