Mostrando entradas con la etiqueta Ciencia y Tecnología. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ciencia y Tecnología. Mostrar todas las entradas

¿Qué #$!"@ es el Antialiasing?

Posted by raul_id on lunes, 10 de enero de 2011

¡¡Empezamos el año en Grog and Roll!! (un poco después de lo que gustaría) y esperamos tener las pilas cargadas para ofrecer algo más de periodicidad y generar bastante contenido interesante.
Hoy os traemos una entrada algo densa para empezar el año, pero...por algo hay que empezar :)

Muchas son las ocasiones en las que nos sentamos delante de la pantalla, probamos un juego y no va del todo fino (esto nos pasa a unos más que a otros). Acto seguido acudimos a las configuraciones de video, que son sin duda el centro de todos estos males.
Una vez allí, y según que juego, podremos configurar unas cuantas características. Existen los juegos que simplemente te permiten ajustar la resolución a la de tu pantalla, y existen los que te preguntan sobre el brillo de los ojos de la mosca que sale 5 segundos en el capítulo 12. Sin embargo, a poco que el juego nos ofrezca, veremos una característica llamada Antialiasing que pocos saben sobre su finalidad.

Para poder saber a lo que nos estamos refiriendo con Antialiasing es ovbio que debemos conocer lo que significa el Aliasing.

Si empezamos a explicar los tipos de Aliasing que existen nos meteríamos en terrenos que no nos competen en este post, por ello vamos a centrarnos en el Aliasing geométrico. Estos efectos los hemos vivido todos en mayor o menor medida.
Supongo que todos habréis notado que donde realmente notamos la calidad de los gráficos en un videojuego es, en su mayoría, en las aristas. En los primeros juegos 3D vemos ENORMES dientes de sierra como este:


En la actualidad todavía podemos encontrar juegos alabados por la crítica que en ciertos momentos bajan de nivel gráfico hasta niveles con Aliasing, pero pocos son los casos.
¿Y que tenemos que hacer para evitar este tipo de despropósitos? ¿Aumentar la resolución del juego hasta niveles ridículos?
Pues no, tal y como vimos hace algún tiempo con el Parallax Mapping existen "trucos" para parecer sin ser, mostrar sin enseñar, y todas esas cosas que se dicen en las películas de serie B.

El Antialiasing nos en más que una técnica de suavizado de bordes que consigue unos resultados bastante aparentes. Como vemos en la siguiente imágen, es muy sencillo de comprender:

Es una técnica que empezó en el PC, pero se ha extrapolado a las consolas ya que permite recrear gráficos con mayor fidelidad en modelado 3D con lo que conseguimos una mayor inmersión. Para poder correr este tipo de filtros en nuestro ordenador se necesita potencia gráfica, pero no tanta como para ver un resultado igual aumentando la resolución.
A continuación podemos ver otro ejemplo:

Como vemos, cuanto mayor sea el grado de Antialiasing mayor será el suavizado de los bordes y mejor será el resultado.
Y hasta aquí nuestra lección de hoy, nos leemos!

Inteligencia Artificial

Posted by Jose on lunes, 21 de junio de 2010

Recuerdo un día que, en una clase de una asignatura que cursé llamada Técnicas de Reconocimiento y Síntesis del Habla, íbamos a comenzar a dar materia sobre inteligencia artificial aplicada a sistemas que fueran capaces de reconocer tanto al locutor que hablaba como lo que propiamente decía. La cuestión es que, a modo de anécdota, el profesor nos contó que, cuando el cursó una asignatura sobre temática de inteligencia en computadores, se encontró con algo diferente a lo que las películas plantean. El tema es que a él, en esa asignatura, le mandaron realizar un sistema que, entrenado con los movimientos de la bolsa en los últimos años, fuera capaz de preveer los movimientos próximos (y así, de paso, forrarse). Entonces, un compañero mío le preguntó, muy ilusionado, si el sistema había llegado a funcionar, a lo que el profesor contestó que, de haber estado forrado, se habría pensado el madrugar esa mañana para venir a darnos clase.

La cuestión es que, por suerte o por desgracia, todavía estamos bastante lejos de conseguir tener un Skynet en nuestro ordenador y eso, en cierta manera, puede limitar nuestra experiencia para con los juegos, porque un título (excesivamente) previsible, puede implicar el desprecio del jugador en cuestión de poco tiempo.

Sin embargo, ¿cuándo podemos considerar un sistema inteligente? Allá por 1950 Alan Turing (científico de bastante reputación por, entre otras cosas, haber sido uno de los principales contribuyentes a "romper" el código de la máquina Enigma y, a pesar de ello, después no se puede decir que fuera tratado del todo bien por su país) planteó una especie de test, llamado el test de Turing, que de forma básica exponía que podríamos considerar el tener inteligencia artificial cuando, al interactuar un humano con esa "inteligencia", no fuera capaz de distinguir su naturaleza humana o artificial.

La cuestión es que, realmente esto, nunca (o casi nunca) se suele cumplir en un videojuego. En la gran mayoría de casos nos encontramos con acciones que vienen dadas por scripts que dicen qué ha de hacer el personaje de tipo NPC (Non Player Character) en cada caso, realizando siempre lo mismo (al fin y al cabo, son una serie de condicionales), o, en casos más elaborados, se utilizan algoritmos que permiten a los personajes "improvisar" un poco, como puede ser a la hora de buscar una ruta hacia un destino, tarea para la cual se suelen utilizar algoritmos de resolución de grafos para encontrar el camino óptimo (por ejemplo, el algoritmo de Dijsktra, muy utilizado en protocolos de enrutamiento en redes de ordenadores, es uno de los que se aplica en estos casos) o también las denominadas máquinas de estado finitas, muy utilizadas para la animación de sprites en videojuegos 2D, que permiten modelar una serie de estados (por ejemplo, desesperado, hambriento, andando...) por los que nuestro personaje puede, o no, pasar y que modificará, en parte, el comportamiento que tenga.

Pero volviendo al título del post, ¿cuándo encontramos realmente inteligencia artificial en un videojuego? Informándome por ahí, conseguí encontrar dos títulos (aunque hay más) que realmente implementan cierto aprendizaje automático (ya sea mediante redes neuronales o la técnica que sea), los cuales son:

  • Black and White: En este videojuego, consistente básicamente en ser un dios, debemos manejar una criatura que será nuestro "representante" en la Tierra. La criatura, desde que la obtenemos, irá aprendiendo en función de nuestras acciones (si castigamos mucho al pueblo o si somos benévolos) y, a la larga, se comportará en función a eso que haya ido aprendiendo.
  • Creatures: En este juego deberemos controlar a unas criaturas, llamadas norns, y deberemos intentar que sobrevivan en base a enseñarles qué es lo que han de hacer y qué no.
Por último en lo relativo a este post, mientras me informaba sobre qué poner, encontré una librería de código abierto sobre inteligencia artificial llamada OpenAi, basada en Java y C++, que implementa algunas de las técnicas más comunes. No puedo decir nada más porque realmente no lo sé, pero si alguien se informa o conoce algo más de ellas, no estaría mal un comentario suyo por su parte!!

Pues nada, espero que os haya gustado el tema. Esperamos vuestros comentarios!!

Parallax mapping - El secreto de Wii

Posted by raul_id on jueves, 29 de abril de 2010

A estas alturas de la película todos sabemos que la Wii es la menos potente de las tres consolas de última generación, pero también ha sido la más vendida de ellas. El éxito arroyador de Nintendo con su consola de sobremesa viene sin duda asociado al propio mando (Wiimote) y su nuevo paradigma de juego con el que muchas familias se han visto incitadas. Pero no es de novedosos sistemas de juego de lo que os quiero hablar hoy, sino de temas gráficos en los que este dispositivo flojea.
Antes de nada me gustaría resaltar que no soy ni mucho menos un experto en el tema, pero voy a intentar explicar los conceptos lo mejor que pueda.
Como bien rezan sus especificaciones técnicas, la Wii incorpora una tarjeta gráfica ATI "Hollywood", diseñada especialmente para ella, junto con un procesador IBM PowerPC "Broadway" G5 de 729 MHz. Un conjunto bastante inferior a sus competidoras PlayStation 3 y XBOX 360. Sin embargo, y haciendo referencia al refranero español, más vale maña que fuerza; o esto es lo que pensaron en Nintendo cuando decidieron patentar una tecnología gráfica llamada "Parallax mapping" o "Virtual displacement mapping" con la que, poniendo un poco de ganas, se pueden conseguir cosas impresionantes con un hardware bastante limitado como el de Wii.
Pero antes de entrar en materia vamos a conocer técnicas gráficas que ya se habían implementado anteriormente en videojuegos y que nos ayudarán a comprender mejor la que tratamos hoy.

Bump mapping: se trata de un efecto visual para que los objetos parezcan tener relieve. Para ello se aplica una textura y se modifica la normal de la superficie sin aumentar así el número de polígonos de la misma (en una pared, por ejemplo, seguiría siendo plana). Posteriormente se aplica la iluminación a cada píxel. Es una técnica muy interesante que ya se utilizaba en la época del Dungeon Keeper 2 (sobretodo al final, donde se tenían que mover demasiados personajes en pantalla).

Normal mapping: es una evolución del Bump mapping con la que se consigue un mayor realismo en los objetos. La ventaja viene dada por el número de canales que se utilizan para modificar la normal del objeto: en el Bump hacemos uso de la escala de grises mientras que en el Normal mapping contemplamos los canales rojo, verde y azul. Gracias a esta mejora se consiguen objetos con un nivel de detalle tan alto como otros de millones de polígonos. Sin embargo, al igual que en Bump mapping, si nos acercamos lo suficiente al objeto perdemos la sensación de relieve. Si quereis ver un buen ejemplo de ello fijaros en este video de Evolva.

Displacement mapping: esta es ya una técnica que supera al Parallax mapping que tratamos hoy, pero es necesaria entenderla para comprender el motivo de la existencia de ésta última. Aquí no hay trampa ni cartón, realmente se modifica la geometría del objeto para crear una sensación mucho más realista. Al aplicar la textura en esta tecnología se crea una figura mucho más compleja y real, por lo que necesitamos mucha más memoria gráfica.

Vamos a ver una imágen que ilustra perfectamente estas técnicas (menos el Normal mapping que a nivel teórico es casi idéntico al Bump):
Como vemos, en la primera figura tenemos una esfera lisa sin ninguna textura. Cuando se le aplica la textura en el Bump mapping vemos como, además de el mínimo realismo que puede aportar simplemente aplicar una textura, da una sensación de relieve que influye también en la iluminación (pero sigue siendo una esfera lisa). En la tercera figura apreciamos como el Displacement mapping consigue un objeto mucho más real que los anteriores, habiendo modificado la geometría e influyendo, al contrario que en las otras imágenes, en las sombras.

Y aquí es donde entra el famoso Parallax mapping. En un momento donde Nintendo se ha visto superada a nivel de hardware, se las ha ingeniado para poder ofrecer unos gráficos "decentes" para que aquellos voraces consumidores de polígonos estén contentos. Esta técnica viene a situarse entre el Normal mapping y el Displacement mapping.
Se trata de una mejora sustanciosa, ya que con ella conseguimos ver texturas mucho más realistas sin cambiar la geometría del objeto. Las principales novedades son la variación de la textura según el ángulo con el que se mira; y la inclusión de Self Shadowing (iluminación cambiante).

Y qué mejor muestra de esto que un video...pues tomad tres!







Ahora vosotros os preguntaréis, ¿si todo esto se puede hacer en la Wii, por qué hay tantos juegos con esos gráficos de mierda tan sosos? Y la respuesta a la gran pregunta: vagancia. La verdad es que si no es así, no me lo explico. Títulos como Super Mario Galaxy o The Conduit tienen un gran apartado visual y demuestran que el sistema se puede aprovechar mucho más de lo que lo están haciendo la mayoría de juegos. Está claro que aplicar texturas a los objetos sin más parafernalias es muy fácil, y tener un porcentaje bastante grande de jugadores casuales a los que no le importan demasiado estos temas no ayuda; pero creo que también hay un sector de usuarios que merecen un respeto, y no títulos como Ironman, Spiderman 3, Myth Makers y un largo etcétera de basura (así de claro, al menos gráficamente hablando).

Grooveshark VS Spotify

Posted by Dani on martes, 13 de abril de 2010

Desde hace unos años existe el debate de si merece la pena "descargar" música u oírla en streaming. Las dos opciones tienen sus pros y sus contras:
  • Descarga: Dentro de este apartado tenemos el p2p (viejo truco de utilizar a la mula como lo llama alguna gente sin saber que se llama emule,) otros softwares como "ares" y unos cuantos más que existen menos conocidos. Otra opción que tenemos son las descargas directas, que aunque a priori son más engorrosas de buscar, una vez las encontramos podemos tener lo que buscamos en cuestión de minutos (horas en caso de películas), pero que gracias a los gestores de descargas tipo jDownloader con el que nuestra labor se reduce a copiar los enlaces y esperar a que nos los sirva descomprimidos y listos para saborear. La ventaja de descargar la música es sin duda el poder disfrutar de ella sin necesidad de una conexión a internet y poder oírla en cualquier lugar o momento con cualquier reproductor.
  • Streaming: En este apartado contamos con multitud de páginas o programas que nos dejan escuchar canciones sin tener que descargarlas con lo que podemos disfrutar de ellas mientras se están cargando. Ejemplos de páginas de streaming tenemos; last.fm, deezer, jamendo o grooveshark. Y como programa tenemos en solitario a spotify.

De las opciones anteriormente citadas de música en streaming, los más utilizados por diversas razones que ahora veremos son spotify y grooveshark. Pero para que quede solo un finalista vamos a comparar a cada uno.


Spotify

El interfaz que emplea nos recuerda bastante al de iTunes, por lo que los usuarios que estén acostumbrados les será realmente fácil su manejo. Por otra parte el buscador funciona bien pero tiene un gran problema, por cada búsqueda que realicemos se añade un icono y cuando tienes varias, llega un momento que no se almacenan las búsquedas más antiguas.

El aspecto más positivo que tiene es el sistema de organización por artistas y por álbumes en los que no hay apenas errores de doblaje de artistas con diferentes nombres. Cada búsqueda se puede organizar a la vez por popularidad, que puede sernos bastante útil en artistas recién conocidos.

Dentro del mismo programa tenemos opción de radio en la que podemos buscar música por estilo musical y fecha, lo cual nos puede ayudar mucho a encontrar artistas nuevos por el estilo de música que nos guste.

Uno de los puntos negros que condenan a este programa es la interrupción cada 2 o 3 canciones con publicidad de aproximadamente 30"-40", que aunque parezca una tontería corta el ritmo de lo que estés haciendo mientras escuchas tu música favorita. Esto lo podemos solucionar con una cuota de 9'99€/mes o 0'99€/día.

Además de esto, al ser un software, necesita de una instalación que casualmente solo la encontramos para Pc o Mac, dejándonos a los que utilizamos versiones de Linux con el trasero al aire teniendo que utilizar adaptaciones con wine en el caso de Ubuntu.

Otra de las pegas es la manera de ingresar en el mundo spotify, que es mediante invitación de otro usuario que lo tenga ya instalado y que solo puede realizar 10 invitaciones.

Por último, cabe nombrar el catálogo. El que hay es aceptable pero tiene bastantes carencias si buscamos algo muy concreto debido a los acuerdos con las discográficas y a la imposibilidad por parte del usuario de agregar música al plantel, que como toda hoja tiene sus dos caras, esto nos proporciona organización bastante buena como hemos citado anteriormente.


Grooveshark

La visión que nos ofrece a simple vista es bastante sencilla, con una opción de búsqueda, librería, favoritas y playlist, como más usados. Estos permiten organizarte la música de una manera rápida y eficaz con solo darle al botón de agregar al que queramos. De esta manera tenemos siempre la música que más nos gusta a un par de clicks tan solo, pudiendo además crear una playlist o lista de reproducción con nuestras canciones favoritas aun siendo de diferentes artistas.

Uno de los aspectos negativos de esta página es la organización de la música que puede ser un poco caótica debido a que los usuarios registrados pueden subir su propia música tanto de artistas conocidos como la que creen ellos mismos. Debido a esto principalmente el catálogo de canciones del que dispone grooveshark es bastante más amplio que el de spotify.

La publicidad en esta página está mejor integrada debido a que es un banner en la parte derecha que podemos suprimir al hacernos VIP por una cantidad de 3$ al mes frente a los 9'99€ de spotify además de otras ventajas para quien tenga un teléfono con android y personalización de la página.

De lo mejor de esta opción es que al ser una página web, podemos acceder a ella desde cualquier sistema operativo sin restricción alguna, solo teniendo flash. Al estar registrados de manera gratuita podremos acceder a nuestra selección de música desde cualquier ordenador sin tener que instalar nada, con la rapidez y comodidad que ello conlleva.

Otra de las características que nos ofrece es la posibilidad de poder publicar en Facebook, twitter o email la canción que estemos escuchando, por si tienes que enseñarle a alguien una canción.


Para concluir, debo señalar que con estos argumentos es cuantitativamente mejor el uso de grooveshark antes que spotify, ahora ya cada uno utiliza el que más le guste o más cómodo le sea. Espero al menos haber ayudado a los indecisos a elegir entre uno u otro.

Último teorema de Fermat

Posted by raul_id on martes, 24 de noviembre de 2009

Resulta curioso cómo la mayoría de los teoremas propuestos por matemáticos clásicos han sido demostrados en un breve período de tiempo mientras que otros permanecen "estrujando los sesos" a los más doctos en la materia hasta que lo consiguen.
En el caso que nos ocupa hablamos del francés Pierre de Fermat cuya vida contribuyó a sentar las bases del cálculo moderno.
Al final de su vida dejó a pie de página de uno de sus libros una de las notas más famosas de esta disciplina y que trajo de cabeza a muchos matemáticos de la época (s. XVII):

"Es imposible encontrar la forma de convertir un cubo en la suma de dos cubos, una potencia cuarta en la suma de dos potencias cuartas, o en general cualquier potencia más alta que el cuadrado en la suma de dos potencias de la misma clase; para este hecho he encontrado una demostración excelente. El espacio del papel es demasiado pequeño para que la demostración quepa en él."

Lo que nos viene a decir:

Si n es un número entero mayor que 2 (o sea, n > 2), entonces no existen números enteros a, b y c distintos de 0, tales que cumplan la igualdad:

  a^n + b^n = c^n  \,
Los más desconfiados aseguraban que ese achaco a la falta de espacio para no demostrarlo es una prueba inequívoca de que realmente Fermat no sabía resolverlo. De hecho, fueron necesarios 325 años para que alguien diera una demostración. Sí señores! hace 14 años por fin parecía que las 100 páginas del inglés Andrew Wiles nos habían sacado del atolladero, sin embargo en la primera edición había un importante fallo. Por lo que no fue aceptada por la comunidad científica hasta que se solucionara completamente.
Obviamente no vamos a poner aquí esta demostración, pero sí comentar que resulta curioso que Wilesnos utilizara para su demostración técnicas matemáticas desarrolladas posteriormente a la muerte de Fermat. O incluso el hecho de haber necesitado 100 páginas para demostrar algo que según el matemático francés parecía poder hacer en unas pocas líneas, según deducimos de la nota.

Fuentes: Wikipedia.