Programando la Ciencia Ficción

Post on 12-Dec-2015

228 views 2 download

description

Lo que antes veíamos en la ciencia ficción, ahora podemos crearlo y programarlo. Veamos algunos ejemplos de que necesitamos para hacerlos realidad.

Transcript of Programando la Ciencia Ficción

Programando la Ciencia Ficción

por Carlos Toxtli

Presentación

Carlos Toxtli Hernández

Maestro en Innovación Empresarial y Tecnológica

¿De que vamos a hablar?

Cualquier cosa que veamos en la ciencia ficción es algo que podemos construir y programar en la actualidad.

Exploraremos unos pocos ejemplos.

Sistemas futuristas

Se han dado cuenta que en muchas peliculas manipulan sistemas donde corren modelos 3D de forma muy veloz y además usan pantallas inteligentes.

Exploremos que podemos usar.

Sistemas que corren en pantallas transparentes

Monitores OLED y AMOLED

Ejemplos

Computadora poderosa

Para correr entornos 3D en tiempo real en pantallas de gran resolución tal como se ve en las películas necesitamos al menos una tarjeta de video.

Vamos a idear un hardware muy muy sobrado que sirva para muy altas resoluciones.

Tarjeta de video

Debemos fijarnos en muchas cosas como el número de núcleos, tipo de memoria (por ejemplo GDDR5) y cantidad memoria da un mejor desempeño. Deben soportar resoluciones de 4K (5120 x 3200) y 8K (10249 x 4320) que es equivalente a 43 Megapixeles.

Ejemplos

Algo un poco más poderoso

Lleve lleve bara bara

CPU

Se recomienda que tenga varios núcleos, y con una velocidad que permita que cada núcleo desempeñe una tarea de forma eficiente, veamos algunos ejemplos.

Un ejemplito

LLeve lleve lleve lleve para el niño para la niña ...

Memoria

Ahora pensemos en una memoria veloz al menos una DDR4 de por lo menos 3,000 Mhz, puede ser un módulo como este que solamente soporta 128GB.

SK Hynix DDR4 128GB

Una de las memorias más poderosas existentes.

Que no le digan que no le cuenten ...

Como lo controlamos

Casi todas las pantallas OLED transparentes ya cuentan con una membrana tactil integrada. Pero es probable que quieras controlarlo con el movimiento de las manos como en las peliculas, entonces puedes usar sensores 3D como D-Imager, Asus, PrimeSense, Structure, Kinect, Leap Motion, etc.

Leap Motion

Este si está bara :)

Ya tenemos el Hardware ¿y el Software apa?

Bien pues estos sistemas que nos muestran suelen tener interfaces gráficas muy atractivas (no sabemos si en cuanto a UX son las adecuadas, pero se ven bien monas)

Así se ven

Sistema Operativo

Linux o BSD o cualquier distribución de código libre. El software propietario no nos permitirá hacerlo tan flexible para todo lo que requiere. Se recomienda hacer una distribución propia de Linux con solo lo necesario.

¿Y cómo lo programo?

Vemos algunas herramientas que nos ayudan a que se vea de esa manera y que funcione la parte de inteligencia artificial que muestran.

¿Y como hago que se vea así?

Vemos algunas herramientas que nos ayudan a que nuestro sistema se vea así.

OpenGL, WebGL, Unity, CUDA, CSS3, DirectX, etc.

¿En que lenguajes?

Se estilan los siguientes para las herramientas descritas Javascript, Python, C, C++ y C#.

¿Y la inteligencia artificial?

Se suelen usar lenguajes muy diversos y va en función del número de librerías existentes. Los lenguajes que tienen más librerías de inteligencia artificial son Java y Python.

Otros ejemplos

Exploremos un poco más en este último tema de la inteligencia artificial aplicada a lo que vemos en la película de Her.

Como programarlo

Lenguajes muy usados para programar algo así son Java, Python, C, C++ y algunos funcionales basados en LISP como Clojure.

Como programarlo

Herramientas de Affective Computing que ya hacen las cosas por nosotros:

Affdex, Emotient, FACE, Emospeech, Emovoice Noldus, NVISO, Emovi, Kairos, Sightcorp, Vocalizer TTS, Vocalizer, SVOX, NLTK, etc.

Y como olvidar los famosos hologramas

Casi en cualquier película de ciencia ficción en la que hablan del futuro se muestran hologramas, hoy en día es posible hacerlos y existen varias tecnologías.

Hologramas en peliculas

El modelo Estar Takee 1 de Take Technology ya viene con pantalla holográfica.

Celulares con pantalla holográfica

Proyectores holográficos

Proyector holográfico Galileo

Como programarlo

Básicamente es mandar un modelo 3D a la pantalla holográfica. Con Hololens es posible programar interacción con hologramas generados por su dispositivo. Se programa en C sobre Unity.

Hay mucho que hacer, pero hay mucho que no

No toda la ciencia ficción es conveniente replicarla, veamos algunos ejemplos de cómo se veía el futuro que hoy en día son ridiculas.

Las videollamadas públicas de Blade Runner

El detector de ondas cerebrales de Barbarella

Los taxis conducidos por robots en Total Recall

El Mapa futurista de Escape from New York

Las cámaras “portátiles” en Death Race 2000

Los planes de la Estrella de la Muerte en Star Wars

La máquina de FAX de Back to the Future II

Nada de esto es inalcanzable

Acceder a equipos que tengan capacidades importantes para ideas muy avanzadas es posible ya sea a través de usarlos en la nube o llegar a ellos en instituciones academicas que lo utilizan para investigación.

Equipos

Conclusiones

El “futuro” cada vez nos queda más claro que es hoy.

La ciencia ficción nos ha dado ideas de muchas cosas que ahora existen.

Con conocimientos tecnológicos podemos crear cualquier cosa que imaginemos.

Gracias

La presentación la subiré a mis redes sociales, cualquier duda estoy a sus órdenes en las mismas:

http://facebook.com/carlos.toxtli

http://google.com/+CarlosToxtli