En el año 1975, renderizar una tetera suponía un auténtico reto.
Martin Newell, investigador de la Universidad de Utah, fué pionero en el campo de los gráficos generados por ordenador. Y resulta que necesitaba un modelo matemático relativamente sencillo. Y resulta que acostumbraba a tomar el té con su mujer, Sandra. Y resulta que le contó su problema…
Ella le sugirió que modelase una tetera.
Una tetera era ideal para los experimentos de la época: Tiene curvas, puntos de silla, puede proyectar sombras sobre si misma y queda más o menos bien cuando se dibuja sin textura.
Lo que decía: Un auténtico reto.
Martin tomó la idea de su mujer, y dibujó a lápiz la tetera. Después pasó ese boceto a un aparato muy raro de marca Tektronix. Finalmente, definió, uno a uno, todos los puntos que juntos formaban la información geométrica de la tetera. Ya tenía su modelo matemático.
Había obtenido un resultado bastante bueno y se dió cuenta de que podría ser de utilidad para otros muchos compañeros. Entonces la hizo pública para cualquiera que lo necesitase. Evidentemente fueron muchos los que la aprovecharon, porque necesitaban más o menos lo mismo y ninguno tenía ganas de volver a seguir el mismo proceso (que no era precisamente sencillo).
Curiosamente, la tetera siguió usándose a pesar de que enseguida dejó de ser un reto. Tanto se había extendido, que se convirtió en una especie de broma interna de la comunidad de los gráficos por ordenador y se empezó a utilizar como modelo de ejemplo en muchas investigaciones. También empezó a incluirse en casi todos los programas de modelado tridimensionales e, incluso, en muchas APIs gráficas (como DirectX).
Efectívamente. La tetera de Utah es la tetera que muchos habréis visto en el 3DSMax. Pero, como digo, no aparece solo en el 3DSMax; en realidad ha aparecido en muchísimos más sitios…
Algunas apariciones (extrañas) de La Tetera de Utah
Sabemos que sale en el 3DSMax, en el DirectX, en el PovRay y en muchos otros programas parecidos, pero también sale en…
Tuberías (y teteras)
El mítico fondo de escritorio de Windows “Tuberías” incluía algo más…

Series y películas… A las 5 en punto
La famosa tetera aparece en el capítulo de La Casa de Árbol del Terror VI (el del Homer en 3D), y también aparece en Toy Story y en Monsters S.A.
No he podido encontrar ninguna captura de estas escenas, pero si alguien sabe donde encontrarlas que me avise (¡por favor!).
Fuentes utilizadas
Un nerd necesita un proyecto porque un nerd construye cosas. Todo el tiempo. ¿Esos momentos de evasión durante la cena? El nerd está trabajando en su proyecto dentro de su cabeza.
Es improbable que este proyecto sea el trabajo diario del nerd porque su opinión acerca de su empleo es, “He estado allí, he hecho eso”. Exploraremos las consecuencias de esta pérdida de atención aparentemente breve dentro de un poco, pero por ahora este proyecto es una gran cosa que tu nerd está construyendo. Yo no tengo ni idea de qué es, pero tú deberías.
En cierto punto, tú, la compañera del nerd, fuiste el proyecto. Fuiste salpicada por la manguera de la atención porque eras la más brillante novedad en la vida del nerd. También existe la posibilidad de que tengas suerte y que aún estés dentro del proyecto de tu nerd. Felicidades. No te acomodes demasiado porque él avanzará, y, cuando eso ocurra, te preguntarás qué ha ocurrido con toda la atención. El manual podría ayudar.
Sobre el género: Para este artículo, mi nerd prototipo es masculino por conveniencia. Hay muchas nerds por ahí para las que estas observaciones son igualmente aplicables.
Entiende la relación de tu nerd con el ordenador. Es un cliché, pero un nerd se define por su ordenador, y necesitas entender por qué.
Primero, la mayoría de la gente en el planeta no tiene ni idea de cómo funciona un ordenador o lo miran y piensan “es mágico”. Los nerds necesitan saber como funciona un ordenador. Saben como funciona hasta un punto íntimo. Cuando preguntas a un nerd “Cuando hago clic en esto, tarda un poco en aparecer. ¿Sabes qué falla?”, él sabe lo que falla. Un nerd tiene un modelo mental del hardware y del software en su cabeza. Mientras el resto del mundo ve magia, tu nerd sabe cómo funciona la magia, sabe que la magia es una larga serie de unos y ceros moviéndose a lo largo de tu pantalla a una velocidad impresionante, y sabe cómo hacer que esos bits se muevan más rápido.
El nerd ha basado su carrera, quizás su vida, en el ordenador y, como veremos, esta relación tan íntima ha alterado su visión del mundo. El ve el mundo como un sistema que, con el suficiente tiempo y esfuerzo, es completamente entendible. Esta es una frágil ilusión que tu nerd ha adoptado, pero es agradable y ayuda a tu nerd a pasar el día. Cuando la ilusión se rompe, descubrirás que… Leer el resto de esta entrada »
“Así que escúchenme, ¡escúchenme! La televisión no es la verdad. La televisión es un parque de atracciones, la televisión es un circo, un carnaval, una troupe de acróbatas, narradores de cuentos, bailarinas, cantantes, malabaristas, fenómenos domadores de animales y jugadores de fútbol. Es una fábrica para matar el aburrimiento. Si quieren saber la verdad, diríjanse a Dios. Diríjanse a su gurú, a ustedes mismos, porque es la única manera de hallar la auténtica verdad. Ustedes no van a enterarse de la verdad por nosotros”.
Un mundo implacable (S. Lumet, 1976)
Lo acabo de ver en el blog del telediario de Televisión Española. Me ha parecido interesante; sobretodo teniendo en cuenta dónde está publicado.
Una historia clásica muestra muy bien el coste potencial de restringir la solución de un problema a una disciplina cerrada. Trata sobre un edificio de oficinas de varias plantas, en Nueva York. Los ocupantes comenzaron a quejarse del mal funcionamiento de los ascensores en el edificio. Los tiempos de espera en las horas puntas, decían, eran excesivamente largos. Varios de los inquilinos amenazaron con romper sus contratos para irse del edificio por este problema…
Desde gestión se autorizó un estudio para determinar cuál sería la mejor solución. El estudio reveló que, debido a la antiguedad del edificio, no se podría justificar económicamente ninguna solución. Los ingenieros dijeron que la gestoría tendría que vivir con ese problema permanentemente.
El gestor, desesperado, se reunió con su equipo, que incluía un joven recientemente graduado en psicología… El joven no se centró en el rendimiento de los ascensores si no en el hecho de que la gente se quejara de esperar solo unos minutos. ¿Por qué, se preguntó, se estaban quejando de esperar durante un tiempo tan corto? Su conclusión fué que las quejas eran una consecuencia del aburrimiento. Por tanto, retomó el problema centrándose en que debía darles algo en que ocupar su tiempo. Sugirió instalar espejos en las zonas de entrada al ascensor para que aquellos que estuvieran esperando pudieran mirar al resto o a sí mismos sin que se notara. El director hizo caso de su sugerencia. La instalación de espejos se hizo rapidamente y con un coste relativamente bajo. Las quejas por las esperas cesaron.
Hoy en día, los espejos en los halls de los ascensores e incluso en los ascensores de edificios altos son habituales.
Me he encontrado con esta curiosa (y didáctica) historia en el blog Signal vs. Noise, escrito por gente de 37signals. Al parecer está sacada de un libro llamado “Turning Learning Right Side Up: Putting Education Back on Track”, y ejemplifica muy bien el valor de pensar out of the box o, lo que es lo mismo, el valor de ser creativo a la hora de enfocar problemas que en principio pueden parecer muy complejos.
Por supuesto, hay que decir también que este tipo de soluciones acaban saliendo mal muchas veces y que, casi siempre, la solución está en el método tradicional y contrastado. Aún así, nunca está de más recordar que la creatividad y la libertad a la hora de buscar soluciones siempre debe estar ahí.
Enlaces
Al publicar la serie “cosas que debes saber sobre CSS” me di cuenta de que hay bastante gente interesada en el tema de las hojas de estilo, sobre todo cuando se habla de CSS avanzado. Supuse que ese interés se debía, en gran parte, a la curiosidad por lo nuevo y a la sorpresa por lo potente del CSS. Por eso, me decidí a escribir este artículo, mostrando por encima lo más nuevo en CSS: La tercera versión de CSS.
Quiero aclarar también que CSS 3 está todavía en desarrollo, y que la mayoría de sus propiedades aún no han sido implementadas por los navegadores. Aún así, pinta muy bien y hay algunas que ya pueden ser usadas. Por ejemplo, en ululand usamos bastante la propiedad border-radius para redondear algunos bordes sin recurrir a trucos raros de CSS o a librerías de javascript (como la que se usa en este blog).
Algunos elementos nuevos
border-radius
Este es, para mí, uno de los cambios más prácticos de la próxima versión de CSS. Los diseños web con esquinas redondeadas son muy habituales hoy en día y, paradójicamente, no existe una forma sencilla de conseguir este efecto. Por suerte para todos, CSS3 trae la propiedad border-radius al rescate:
Resultado
Sintaxis
border-radius: <radio_horizontal> <radio_vertical>; border-top-radius: <radio_horizontal> <radio_vertical>; border-right-radius: <radio_horizontal> <radio_vertical>; border-bottom-radius: <radio_horizontal> <radio_vertical>; border-left-radius: <radio_horizontal> <radio_vertical>;
Soporte
Firefox (usando prefijo “-moz-”): -moz-border-radius
Webkit (safari 3/Chrome) (usando prefijo “-webkit-”): -webkit-border-radius
Hace ya casi un año publiqué tres capítulos de una guía para aprender a crear videojuegos. Desde cero. Se llamaba “Quiero ser como Will (Wright)” y gustó mucho; sobretodo por la forma tan original que tiene de explicar las cosas (no creo que haya muchos más tutoriales así). De hecho, todavía hoy tiene bastantes visitas (están entre las entradas más visitadas del blog) y de vez en cuando recibo correos de gente preguntando dudas y diciéndome lo mucho que les está ayudando la guía.
Pero el caso es que uno de esos principiantes, Nacho Rozas, se ha tomado la molestia de grabar su primer juego en un vídeo, y me lo ha enviado al correo. Y me ha hecho mucha ilusión. Tanta ilusión que lo he subido a YouTube (con su permiso, logicamente):
Sí, ya sé que no es nada espectacular, pero es su primer juego (¡su primer juego!). ¿Recordáis vuestro primer juego? Es más… ¿Habéis hecho alguna vez un juego? Además, me ha encantado porque lo ha hecho suyo. Ha cambiado algunos detalles del juego, le ha añadido colores (fijaros en el detalle de la pelota cambiando de color) y ha creado varios niveles de dificultad. No está nada mal…
También, quiero aprovechar para animar a aquellos que hayáis seguido la guía y aún me leáis (si es que hay alguien) a que grabéis vuestras versiones del PONG. Si alguien más lo hace, iré actualizando esta entrada.
Y para los que no hayáis hecho un juego nunca y tengáis curiosidad aquí os dejo los enlaces a los tres capítulos de la guía. Os aseguro que, al menos el primer capítulo, está hecho para gente que no sabe nada… Hasta un mono podría seguir esa guía xD
Capítulos publicados hasta el momento
Ahora que ya has aprendido lo más básico de CSS y que ya has profundizado con cinco cosas menos básicas que debes saber sobre CSS ya puedes dar el paso y empezar a jugar con los “pros” en esto del CSS.
1. Pseudo elementos
Los pseudo elementos son una de esas cosas menos conocidas de CSS, pero que a veces acaban siendo muy útiles. Existen cuatro de estos pseudo elementos:
1.1. Modificador de primera línea (:first-line)
Gracias al pseudo elemento :first-line podemos modificar la primera línea del texto contenido en un elemento de bloque. El siguiente ejemplo quizás lo aclare un poco más.
HTML:
<p id="firstLine">A este texto le aplicamos un estilo solo a la primera línea. El resto de líneas se dibujaran de forma normal. Y ahora tengo que rellenar con este texto para que podáis comprobar que efectivamente funciona tal y como digo. Este tipo de selectores se usan muy poco, pero a veces vienen muy bien, y mucha gente no los conoce.</p>
CSS:
p#firstLine:first-line
{
color: red;
font-size: large;
background-color: pink;
}
El único uso que he dado alguna vez a este elemento fué para destacar la primera línea de un texto que quería que llamara la atención.
1.2. Modificador de primera letra (:first-letter)
El pseudo elemento :first-letter permite dar un estilo diferente a la primera letra de un párrafo.
HTML:
<p id="firstLetter">Este párrafo tiene aplicado un estilo a su primera letra, unicamente. Esto se usa muchas veces para crear efectos tipográficos similares a los que se usa en muchas publicaciones impresas.</p>
CSS:
p#firstLetter:first-letter
{
color: blue;
font-size: xx-large;
font-weight: bold;
}
Este elemento se suele utilizar para crear efectos tipográficos habituales en las publicaciones impresas.
1.3. Modificadores :before y :after
Los modificadores :before y :after permiten añadir contenido desde el CSS al final o al principio de un elemento de bloque.
HTML:
<p id="beforeandafter">Estos dos selectores son practicamente desconocidos y realmente curiosos. Permiten añadir cierto contenido (en este caso, el texto en rojo) justo al principio o al final del que ya le des tú al elemento. Nunca los he llegado a usar en la práctica, pero nunca se sabe...</p>
CSS:
p#beforeandafter:before
{
content: "[PRINCIPIO] - ";
color: red; font-weight: bold;
}
p#beforeandafter:after
{
content: " - [FINAL]";
color: red; font-weight: bold;
}
Uno de los pocos usos que se me ocurren para estos pseudo elementos son los de añadir un icono al principio o al final de un texto, por ejemplo.
— Ey, tio, ¡tengo una idea!
— ¿Una idea?
— Sí, sí. Es la ostia. ¡Va a revolucionar el mercado!
— ¿Sí? ¿Qué es?
— Joder. No te lo puedo contar, tío.
— …
— No, en serio. No te la puedo contar… Es que creo que no se le ha ocurrido a nadie, y quiero ser el primero.
— ……
— Bah, joder. No sé por qué pones esa cara. Ya imagino que tú no me la vas a copiar, pero aún así…
— Vamos a ver: Si tienes una idea que no puedes contar… ¿¡Para qué cojones me dices que tienes una idea!?
— Bueno, tio…
— Joder. Es que estoy harto ya… Todo el mundo tiene ideas increíbles, pero nadie las quiere contar. Eso sí, ya se encargan bien de que todo el mundo sepa que tienen esas ideas… ¡No vaya a ser que venga alguien y les copie lo de tener buenas ideas!
— Joer, es que lo pones de una forma…
— Ya, ya. Pero es que no eres el primero que me viene así… Y no serás el último. Seguro.
— ¡Bueno! ¡Espera un momento! Claro, te pones a gritar y parece que me quitas la razón. Pero escúchame tú a mi ahora: ¿No crees que hay que proteger las ideas que te pueden dar una ventaja estratégica ante la competencia? Joer, el valor de las ideas es importantísimo.
— ¡Una idea no vale una mierda!
— Joder, que bestia eres…
— Bueno, vale, igual me estoy pasando. Hay ideas que sí son muy, muy nuevas, prácticas e inteligentes. Esas sí que tienen algo de valor. Hasta que te las copian. Y no es por dudar de tu capacidad, pero dudo que tu idea esté en ese grupo… Aunque solo sea por una cuestión estadística.
— No sé. Sigo pensando que exageras… Creo que aunque mi idea no sea tan buena, siempre sacaré algo de beneficio si no se lo cuento a nadie. El factor sorpresa, amigo. ¡El factor sorpresa!
— ¿Factor sorpresa? ¡Te voy a dar yo factor sorpresa y medio! ¿No crees que sacarás mucho más beneficio de todo el feedback que te pueda dar la gente al contarle esa idea? ¿De verdad te quieres arriesgar a desarrollar algo sin haberle preguntado a nadie por su opinión?
— Es que confío mucho en mi mismo…
— ¡Joder! ¡Pues a mi me parece lo contrario! Yo cuando tengo una idea no es que no me la guarde, es que se la cuento a todo el mundo a ver qué opinan y a ver si pueden aportar algo… Y me atrevo a hacerlo porque sé que nadie va a desarrollar mi idea mejor que yo mismo. ¡Eso sí que es confiar en uno mismo!
— No sabes como te odio…
— Jaja. Oye, ¡tengo una idea!
— ¿Sí? ¿Cuál?
— No te la puedo contar, pero tú abre la boca y cierra los ojos.
— …




