SGCG

…esto no es un subtítulo…

Ir a: contenido categorías calendario archivo suscripción

Volver arriba

Octubre de 2013

Calendario de artículos de octubre de 2013

lumamijuvido
123456
78910111213
14151617181920
21222324252627
28293031

Vocabulario aeroespacial (7): «docking» y «berthing»

2013-10-30

Hoy tenemos otro artículo de nuestra serie que introduce vocabulario aeroespacial. En el artículo de hoy, introducimos dos palabrejas en inglés: «docking» y «berthing». Ambas hacen referencia al acoplamiento entre dos naves espaciales. El acoplamiento, que consiste en la conexión de dos vehículos espaciales, es un proceso común en estaciones espaciales (pero las estaciones espaciales no tienen el monopolio sobre las maniobras de acoplamiento) tanto en el caso de uniones más o menos permanentes entre módulos como uniones transitorias con vehículos de transporte de carga. ¿Cuándo una unión es un «docking» y cuando es un «berthing»?

Ambos términos hacen referencia a las maniobras de atraque, pero «berthing» tiene cierta relación con el amarre hasta cierto punto análoga al uso de un brazo robótico para unir dos vehículos.

La Estación Espacial Internacional recibe a menudo otras naves con provisiones y relevos para la tripulación. Algunas de estas naves, como el ATV y la Soyuz, se acoplan por sus propios medios (hacen docking); otras, como el HTV y el Dragon, se acoplan mediante el brazo robótico Canadarm2 (hacen berthing).


Categorías: Aeroespacio, Lingüística

Permalink: http://sgcg.es/articulos/2013/10/30/vocabulario-aeroespacial-7-docking-y-berthing/

¿Cuánto se expande el hielo seco al sublimar?

2013-10-28

Hace unos días surgió un proyecto para crear una fuente de «humo» como efecto decorativo. Entre las opciones más espectaculares, se encontraba la de usar hielo seco. El hielo seco es dióxido de carbono en estado sólido. Viene presentado en bloques a muy baja temperatura que subliman al ser expuesto a condiciones más confortables para el ser humano. Si introducimos un fragmento de hielo seco en un recipiente con agua, se produce un fuerte burbujeo de dióxido de carbono que vuelve el aire blanco y opaco. El efecto es muy espectacular y es seguro si se opera con cabeza. En primer lugar, hay que llevar protección para evitar el contacto directo con el gélido hielo seco. En segundo lugar, hay que contar con una ventilación adecuada para evitar la exposición asfixiante a concentraciones elevadas del gas.

Podemos calcular cuánto se expande el dióxido de carbono al sublimar con ayuda de la ley de los gases ideales. El dióxido de carbono tiene una masa molar M ≈ 44,0 kg kmol−1. La constante universal del gas ideal es R ≈ 8,314 J mol−1 K−1, así que la constante de gas ideal del dióxido de carbono es RCO2 ≈ 189 J kg−1 K−1. Ahora supongamos que estamos en una habitación en Madrid con una presión atmosférica p = 945 hPa y una temperatura T = 293 K. La ley de los gases ideales nos dice que la densidad del dióxido de carbono puro es ρgas = p ⁄ (RCO2 T) y el volumen específico v es la inversa de esta cantidad, es decir, ρgas = RCO2 T ⁄ p = 1 ⁄ ρ = ≈ 0,59 m3 kg−1). El hielo seco tiene una densidad ρsólido ≈ 1,5 g cm−3 o un volumen específico vsólido ≈ 0,67 dm3 kg−1. El volumen específico del dióxido de carbono gaseoso es casi mil veces (ochocientas ochenta veces) el volumen específico del dióxido de carbono sólido.

Si tuviéramos un cubo de 10 cm de lado, podríamos llenar un volumen más grande, de casi 1 m de lado, con CO2 puro y a las mismas condiciones de presión y temperatura que el ambiente. Ahora bien, la habitación será generalmente mucho más grande que unas mil veces el volumen del bloque de hielo seco original y partimos de la idea de que ya está llena de aire, así que si dejáramos sublimar un bloque de hielo seco, el dióxido de carbono gaseoso acabaría disuelto en el aire de la habitación. En primera aproximación, podemos asumir que no cambian significativamente las condiciones ambientales de temperatura, presión y volumen atmosférico de la sala al sublimarse el hielo seco. Esto nos facilita la vida y no supone un error apreciable salvo si metemos en la habitación un bloque de hielo seco enorme, casi tan grande como ella. Tras la sublimación, tenemos que repartir el volumen de CO2 por la habitación. Si dividimos el volumen que ocuparía el gas si fuera puro por el volumen de la habitación, obtenemos lo que crece la concentración en volumen del CO2. Si la composición final del aire fuera uniforme, un bloque de 1 kg de masa ocuparía 0,59 m3 si fuera puro y tendría una concentración volumétrica del 1 % en una habitación de 59 m3 que, si fuera cúbica, tendría 3,9 m de lado. Esta concentración es muy superior a la que suele encontrarse en una habitación normal y corriente y es lo bastante grande para causar molestias en la población general. Ahora bien, el CO2 es más denso que el resto del aire y la difusión no es suficiente para vencer el efecto gravitatorio y mantener una concentración marcadamente uniforme, así que hay una tendencia a que el dióxido de carbono se acumule cerca del suelo, donde la concentración es por lo tanto mayor y ya hay más riesgo de asfixia en niños y animales domésticos. La distribución no uniforme del dióxido de carbono es más complicada de calcular, así que queda fuera de este articulito corto.


Categorías: Química

Permalink: http://sgcg.es/articulos/2013/10/28/cuanto-se-expande-el-hielo-seco-al-sublimar/

Protestas del 24 de octubre de 2013 de la comunidad educativa contra la LOMCE y los recortes (2): portadas de periódico engañosas

2013-10-25

Esto está relacionado con las protestas del sector educativo de ayer. Resulta que me encuentro con esta portada del diario El Mundo. Aparece una fotografía de un aula con varios estudiantes en acto de hacer ruido y con un titular que dice coacción en las aulas. Debajo, el diario informa de que varios jóvenes impidieron el acceso a las aulas de la Facultad de Ciencias de la Información de la Universidad Complutense de Madrid. Pues vale, pues me alegro. Esa fotografía no es de Ciencias de la Información. El aula está en la planta baja de lo que fue la Escuela Técnica Superior de Ingenieros Aeronáuticos (ahora Escuela de Ingeniería Aeronáutica y del Espacio) de la Universidad Politécnica de Madrid. Quizá la noticia es que estos tipos de la Complutense son tan hábiles imitadores que nos han copiado no solamente las aulas, sino hasta los profesores. Lo que hay que ver.

En la pizarra, a la derecha, aparece el texto CERRADO X HUELGA, mientras que a la izquierda aparecen dos igualdades que se me antojan improbables en Ciencias de la Información: la superior define el consumo específico basado en el empuje (útil en aviones propulsados por aerorreactores) y la inferior define el consumo específico basado en la potencia (útil en aviones propulsados por motor hélice). Aprendan, señores de El Mundo:

CT = −(dm ⁄ m) ⁄ T

CP = −(dm ⁄ m) ⁄ P

Habría sido mejor poner un signo de equivalencia en vez de uno de igualdad. CT es el consumo específico basado en el empuje, CP es el consumo específico basado en la potencia, m es la masa, T es el empuje y P es la potencia.

Esta pequeña lección es gratuita y espero que compense un poco las carencias educativas a las que nos vemos encaminados.

El incauto lector quizá se preguntará por qué todo esto de la fotografía es importante. Pues es todo muy simple: es una mera cuestión de ética periodística y de integridad profesional. Quizá, debido a la destrucción de la enseñanza pública, las nuevas generaciones de periodistas no están bien preparadas en esta materia, así que habrá que explicarlo de forma sencilla: si tú ilustras una noticia con una fotografía, tú te aseguras de que la fotografía trata de lo que trata el texto de la noticia. La cuestión es que si son desonestos con la fotografía, ¿en qué más cosas engañan?

Del titular principal de la portada, mejor ni hablamos.


Categorías: Actualidad, Aeroespacio

Permalink: http://sgcg.es/articulos/2013/10/25/protestas-del-24-de-octubre-de-2013-de-la-comunidad-educativa-contra-la-lomce-y-los-recortes-2-portadas-de-periodico-enganosas/

Protestas del 24 de octubre de 2013 de la comunidad educativa contra la LOMCE y los recortes

2013-10-24

Los recortes en la educación pública y la LOMCE (la nueva ley de educación) son vistos con malos ojos por un amplio sector de la población que hoy, 24 de octubre de 2013, organizó una jornada de protesta por toda España. Hubo paros en el sector educativo y manifestaciones en muchas ciudades.

Cartel a favor de la escuela pública.

Manifestación en Madrid

En Madrid ciudad había convocada al menos una manifestación a las 18:30 CEST desde Neptuno hasta Sevilla. Sobre las 18:00 CEST había ya algunas decenas de miles de personas en Atocha. A eso de las 19:00 CEST pude contar manifestantes a lo largo del Paseo del Prado desde unos 300 m de distancia de Atocha hasta Cibeles; una línea de alrededor de 1,0 km que cubría los carriles de subida en todo su ancho (para hacer cuentas, 10 m de Atocha a Neptuno y 20 m de Neptuno a Cibeles) con una densidad elevada de entre dos personas y tres personas por metro cuadrado. En total, habría alrededor de 50000 personas.

La manifestación se vio interrumpida cerca de las 19:10 CEST por una lluvia repentina. Más adelante, más allá de las 19:30 CEST, un grupo reducido (algún millar de personas) subía por la calle Atocha con compañeros delante y compañeros detrás. Llevaban carteles y gritaban consignas no solamente sobre la situación educativa, sino sobre los recortes en general.

Manifestantes que suben por la calle Atocha.
Manifestantes que suben por la calle Atocha.

Fotos varias

Aquí hay algunas fotos.

Cartel.
Cartel. Dice así: El peor enemigo de un gobierno corrupto es un pueblo culto.

Chorizo gigante.
Chorizo gigante.

Cartel.
Cartel. Dice así: ¡No a la LOMCE!

Cartel.
Cartel en el que sale un muñequito recortable con un birrete, cara triste y una camiseta con el texto No soy recortable y unas tijeras.

Cartel.
Cartel. Dice así: Recortes, no. Aparecen unas tijeras bajo una señal de prohibición.

Cartel.
Cartel que recuerda a uno de anuncio de venta de vivienda. Dice así: Se vende universidad pública. Número de teléfono: 666-Wert.

Máscara de Guy Fawkes.
Las máscaras de Guy Fawkes no suelen faltar.


Categorías: Actualidad, Madrid

Permalink: http://sgcg.es/articulos/2013/10/24/protestas-del-24-de-octubre-de-2013-de-la-comunidad-educativa-contra-la-lomce-y-los-recortes/

Día del Mol

2013-10-23

El 23 de octubre es el Día del Mol, un día dedicado al número de Avogadro y a la ciencia química. Es un día excelente para hacer labores de divulgación.

Para celebrar el Día del Mol de este año, vamos a estudiar una reacción vistosa y razonablemente frecuente en el ámbito doméstico: la neutralización de las soluciones limpiadoras de lentes de contacto. Veremos que esta reacción libera cierta cantidad de oxígeno y calcularemos, de hecho, cuánto oxígeno suele liberarse.

Las lentes de contacto (salvo las de un solo uso) requieren sistemas de desinfección. Un sistema habitual consiste en una solución con peróxido de hidrógeno al 3 % y un neutralizador basado en catalasa. La catalasa es una enzima que acelera la descomposición del agua oxigenada, que es esta reacción:

2 H2O2 → 2 H2O + O2.

Esto provoca un burbujeo de oxígeno en estado gaseoso. Este burbujeo se produce rápidamente y tiene cierto valor espectacular.

Burbujeo de oxígeno por neutralización de peróxido de hidrógeno en presencia de catalasa.
Burbujeo de oxígeno por neutralización de peróxido de hidrógeno en presencia de catalasa. La solución era transparente antes de entrar en contacto con el anillo neutralizador de la parte inferior del frasco.

El frasco está lleno con unos 10 cm3; esto es representativo de lo que suele usarse. Como la solución es al 3 % en volumen, tenemos que el volumen añadido de peróxido de hidrógeno es de 0,3 cm3. La densidad en condiciones estándar del peróxido de hidrógeno es de 1,44 g cm−3 y la masa molar es de 34,0 g mol−1, así que hay aproximadamente 12,7 mmol de peróxido de hidrógeno en el frasco antes de la neutralización. De la reacción de neutralización, vemos que saldría la mitad de oxígeno: 6,35 mmol o 205 mg. El volumen liberado es algo comparativamente grande: la ley de los gases ideales nos da unos 157 cm3: aproximadamente dieciséis veces el volumen de la solución que habíamos echado en el frasco. Este volumen es aproximadamente un tercio del volumen corriente de la respiración de un ser humano adulto típico, pero como el aire tiene más o menos un 21 % en volumen de oxígeno, el burbujeo de la neutralización de la solución limpiadora de un frasquito da para una respiración y media. Los frascos de lentes de contacto disponen de agujeros que permiten escapar el exceso de gas.


Categorías: Fechas, Química

Permalink: http://sgcg.es/articulos/2013/10/23/dia-del-mol/

La diferencia entre «vergonzoso» y «vergonzante»

2013-10-20

Las palabras «vergonzoso» y «vergonzante» tienen significados hasta cierto punto relacionados, pero diferentes. Veamos cómo. «Vergonzoso» es algo o alguien que o bien causa vergüenza, o bien se avergüenza fácilmente. «Vergonzante» es quien tiene vergüenza. Así, un individuo vergonzoso (que tiende a sentir vergüenza) actúa a menudo de forma vergonzante (es decir, sintiendo vergüenza). De ninguna manera «vergonzante» hace referencia a algo que causa vergüenza; la palabra a usar en tal caso es «vergonzoso». Es un error común confundir estas dos palabras debido a que el sufijo «ante» parece indicar un agente causal y una de las acepciones de «vergonzoso» es muy próxima al significado de «vergonzante», pero no es el caso.


Categorías: Lingüística

Permalink: http://sgcg.es/articulos/2013/10/20/la-diferencia-entre-vergonzoso-y-vergonzante/

Y dale con la piratería

2013-10-15

Pasan muchas cosas muy feas. Vamos a centrarnos un poquito en una relativamente frívola (pues las hay mucho más terribles y deprimentes).

Cuando nuestro actual Sagasta subió los impuestos indirectos, nuestro actual Cánovas insistió mucho en que tal cosa era contraproducente. Ahora que el turno es el de Cánovas, subir los impuestos indirectos no es malo. Aunque estamos acustombrados como estamos a que esta gente mienta más que hable, todavía nos encontramos con declaraciones de un cinismo desmedido; véase por ejemplo lo que nos cuenta cierto diario de capa caída sobre las últimas palabras del ministro de Educación, Cultura y Deporte: es muchísimo más grave para el cine el tema de la piratería que la subida de los impuestos indirectos. Uno podría pensar que tenemos muchos cineastas secuestrados en alta mar, pero como es costumbre, el ministro no se refieren a la piratería de verdad, sino que hace un uso fraudulento del lenguaje (muy popular en ciertos círculos) para equiparar algo cuyo daño es como mucho discutible (la aparición de mercados negros libres paralelos a monopolios) con algo socialmente poco aceptado (abordar barcos para robar). ¿Por qué digo que es como mucho discutible la distribución no autorizada de obras monopolizadas (es decir, sujetas a copyright)? Lo digo porque resulta que estos supuestos efectos negativos no se observan empíricamente, sino que vemos el efecto contrario: la industria de los contenidos crece y crece (enlace a lo mismo presentado de forma diferente) incluso con los problemas económicos que hay. ¿En España cierran muchos cines? Pues sí. También cierran zapaterías, carnicerías y fábricas de caramelos. Será todo culpa del crío que se descarga peliculitas que de todas formas no podía pagar, claro.


Categorías: Actualidad

Permalink: http://sgcg.es/articulos/2013/10/15/y-dale-con-la-pirateria/

Día Internacional de Ponerse Traje

2013-10-13

El 13 de octubre es el Día Internacional de Ponerse Traje (International Suit Up Day en inglés). Hay que ponerse traje. Hay que ir elegante.

El Día Internacional de Ponerse Traje está sacado de la telecomedia de situación How I met your mother. Uno de los personajes de esta telecomedia es un donjuán que siempre viste traje y recomienda hacerlo a la orden de suit up.

How I met your mother es, salvando las distancias, algo así como la sucesora natural de Friends, otra sitcom longeva (algo más) de excéntricos amiguetes entre los veintimuchos y los treinta y pocos con muchos líos amorosos.


Categorías: Fechas

Permalink: http://sgcg.es/articulos/2013/10/13/dia-internacional-de-ponerse-traje/

El W3C y su nuevo amor por una web cerrada

2013-10-12

Esto es para los rezagados que todavía no se han enterado de la noticia. Tim Berners-Lee reitera la intención del grupo de trabajo de HTML incluir sistemas de restricciones de uso (DRM) en los próximos estándares… más o menos. El sistema, EME (Encrypted Media Extensions no especifica los detalles del DRM, pero sí cómo detectar que el contenido está diseñado para ser defectuoso y posibilitar que algún sistema de gestión de restricciones (DRM) a modo de complemento o plug-in se encargue de descifrar el contenido. Este asunto lleva cociéndose algún tiempo y ya provocó cierta movilización hace meses.

La idea consiste en que el usuario no tenga el control de lo que hace su navegador, sino alguna corporación que decidirá lo que puede ver el usuario y durante cuánto tiempo puede verlo. Algunas plataformas propietarias y privativas como Flash permitían hacer esto, pero se supone que tienen los días contados ante el aumento de las prestaciones que ofrecen los estándares abiertos. Ante la amenaza de la pérdida de la capacidad de restringir a los consumidores y usuarios, varias corporaciones se plantan bajo la amenaza de que no usarán los estándares y vivirán con sus propias plataformas fuertemente restrictivas de fantasía que, en un exceso de imaginación, se impondrán ante la competencia de plataformas abiertas que permiten un mercado libre.

El planteamiento es incompatible con el software libre. Los módulos DRM de EME tienen que ser cajas negras para que el esquema funcione, pero el software libre va de todo lo contrario: de transparencia y control ejercido por el usuario. El software libre no puede implementar EME de forma satisfactoria. Hay una petición en el sistema Bugzilla del proyecto Mozilla para que este proyecto jamás implemente EME en sus productos.

EME, al imponer el uso de código cuyo verdadero funcionamiento está ofuscado a los ojos del usuario, ha de ser considerado una fuente potencial de problemas de seguridad igual que lo son otros sistemas propietarios como Flash. ar

Dicen que el W3C no tiene capacidad de imponer estándares no deseados. Esto es aproximadamente cierto; véase el fiasco de XHTML. A esto hay que añadir la propia opinión de Tim Berners-Lee, quien dice que el W3C no puede dictar lo que los navegadores y los distribuidores de contenido pueden hacer, con lo que justifica esta fiesta en la que uno puede utilizar el W3C para estandarizar lo que le apetezca (nótese, por cierto, que el propio Berners-Lee considera que el DRM es indeseable). Ahora bien, es un auténtico error por parte del W3C permitir siquiera que se le use como marco para elaborar algo tan nocivo y contrario a los conceptos de un sistema de comunicaciones abierto como un DRM que busca que las comunicaciones y su contenido sean algo cerrado y anticompetitivo.

Como explicó Ian Hickson (quien supervisa el estándar o conjunto de estándares vagamente conocido como HTML5), el DRM sirve para controlar el mercado de los reproductores de contenido: DRM's purpose is to give content providers control over software and hardware providers, and it is satisfying that purpose well (el propósito del DRM es dar a los proveedores de contenido el control sobre los proveedores de software y hardware; el DRM está satisfaciendo bien tal propósito). A lo mejor el W3C no puede decidir lo que un navegador puede hacer, pero al dar un marco de legitimidad a los caprichos de los abogados de multinacionales monopolistas, estas propias multinacionales sí podrán tomar tal decisión. Y todo esto es a cambio de nada.


Categorías: Actualidad, Informática

Permalink: http://sgcg.es/articulos/2013/10/12/el-w3c-y-su-nuevo-amor-por-una-web-cerrada/

Jugando con autómatas celulares (19)

2013-10-06

Hace varios artículos, planteamos un interesante proyecto: una pequeña nnbiblioteca para construir autómatas celulares. Los autómatas celulares son unas estructuras matemáticas muy curiosas: retículos de celdas que van cambiando de un estado a otro y que pueden, a partir de reglas sencillas, exhibir complejísimos comportamientos emergentes. Como práctica, nuestra biblioteca estará hecha en Scheme R5RS y en Python 2. El enfoque es funcional porque el problema se presta mucho a ello. No nos preocuparemos tanto por hacer un código especialmente rápido como por hacerlo claro y conciso.

Ya tenemos una biblioteca completísima, pero nos falta un aspecto importante relacionado con la presentación de resultados: la capacidad de generar imágenes con las que representar el estado de un autómata. Las funciones que creamos para imprimir texto (translate-and-display-1d y translate-and-display-cartesian-2d) están bien para hacer una evaluación interactiva rápida del buen funcionamiento de un modelo de autómata celular, pero se quedan algo cortas. Una imagen permite ilustrar un autómata muy grande en poco espacio, pues podemos tomar un píxel por celda en vez de un enorme carácter por celda.

Vamos a generar imágenes PBM, PGM y PPM. Las imágenes PBM son monocromáticas con dos valores posibles (blanco y negro), las imágenes PGM son en escala de grises y las imágenes PPM son a color. Todos estos tipos están codificados sin compresión y pueden darse en formato binario y en formato ASCII; nos centraremos en el formato ASCII. En conjunto, se les conoce como PNM o el formato de Netpbm. Como no tienen compresión, las imágenes que guardamos en estos formatos ocupan bastante espacio de almacenamiento, pero tienen la ventaja de que son muy fáciles de escribir. Este proyecto ya ha crecido mucho y se aleja de su didáctica desarrollar funciones para hacer una codificación más complicada.

El formato PBM

El formato PBM es muy sencillo. Es así:
P1 columnas filas datos
Tanto columnas como filas son números decimales. Los datos son una secuencia de ceros (píxeles blancos) y unos (píxeles negros) que representa los píxeles en orden de lectura de izquierda a derecha primero y de arriba abajo después, con o sin espacio de separación entre números. El espacio de separación puede consistir en espacios, tabuladores, caracteres de nueva línea y retornos de carro. El contenido de datos ha de ir dividido en líneas de no más de setenta caracteres.

El formato PGM

El formato PGM es similar al PBM, pero tiene alguna complicación adicional para poder codificar imágenes en escala de grises. Es así:
P2 columnas filas máximo datos
El primer aspecto novedoso, además del cambio del número mágico de P1 a P6, es el máximo (superior a 0 e inferior a 65536) que se corresponde con el máximo nivel de gris o el número de valores de gris que podemos codificar menos uno. Seguidamente, vienen los datos, que igual que antes son los píxeles de izquierda a derecha y de arriba abajo en líneas que no superan los setenta caracteres, pero esta vez con alguna cantidad no nula de espacio entre números siempre y con números que puden tener varias cifras: de 0 a máximo.

El formato PPM

El formato PPM es similar al PGM. Es así:
P3 columnas filas máximo datos
En este caso, los datos codifican los píxeles con tríos de números: uno para el rojo, otro para el verde y otro para el azul, cada uno entre 0 y máximo.

Función para escribir imágenes PNM

Vamos a crear una función llamada write-pnm que aceptará el nombre filename del fichero de salida, el número mágico magick-number ("P1" para PBM, "P2" para PGM y "P3" para PPM), el máximo valor maximum (o el valor falso #f si el formato omite este número) y una lista de filas list-of-rows. Esta lista de filas es una lista de listas: cada elemento es una lista con la representación de cada píxel en el formato correspondiente. Por ejemplo, en el formato PPM, un píxel cuyo color es la terna (1 2 3), quedaría representado mediante la cadena de caracteres "1 2 3". La función en Scheme es así:
(define (write-pnm filename magick-number maximum list-of-rows) (let* ((rows (length list-of-rows)) (columns (length (car list-of-rows)))) (with-output-to-file filename (lambda () (display magick-number) (newline) (display columns) (display " ") (display rows) (if maximum (begin (display " ") (display maximum) (newline)) (newline)) (for-each (lambda (row) (for-each (lambda (pixel) (display pixel) (newline)) row)) list-of-rows)))))
Las funciones de salida de Scheme R5RS dan código muy prolijo. La típica función format o printf permitiría escribir algo con una notación un poquito más compacta. La traducción literal a Python es así:
def write_pnm(filename, magick_number, maximum, list_of_rows): rows = len(list_of_rows) columns = len(list_of_rows[0]) with open(filename, 'w') as fd: fd.write(str(magick_number)) fd.write('\n') fd.write(str(columns)) fd.write(' ') fd.write(str(rows)) if maximum: fd.write(' ') fd.write(str(maximum)) fd.write('\n') else: fd.write('\n') for row in list_of_rows: for pixel in row: fd.write(pixel) fd.write('\n')
¡Esto no es ni mucho menos la forma más recomendable de escribir la imagen en disco!

Utilización

Digamos que tenemos las generaciones generations de un autómata elemental creadas mediante la función step. Los valores adoptados por las celdas de este autómata son 0 y 1. Ya tenemos una lista de listas con la que podemos alimentar a write-pnm para escribir una imagen PBM. El uso sería así:
(write-pnm filename "P1" #f generations)

Ahora asumumamos que tenemos la lista de celdas cells de una cierta generación del autómata del incendio forestal. Las dimensiones del tablero están dadas en la lista sizes. Queremos que los claros (valor 0) salgan grises, los árboles (valor 1) salgan verdes y los incendios (valor 2) salgan rojos. Podemos hacer que los colores vayan de 0 a 2, de modo que codificamos el gris como "1 1 1", el verde como "0 2 0" y el rojo como "2 0 0". Hacemos así:
(write-pnm filename "P3" 2 (cartesian-rows (map (lambda (cell) (cond ((= cell 0) "1 1 1") ((= cell 1) "0 2 0") (else "2 0 0"))) cells) sizes))
Veamos qué hace esto. Lo interesante es la construcción del cuarto argumento de write-pnm, la lista de filas. Construimos esta lista con la función cartesian-rows que para imprimir por pantalla mallas cartesianas bidimensionales como las del juego de la vida de Conway y las del modelo del incendio forestal. Esta función acepta una lista plana y la convierte en una lista de filas; esta lista plana no contiene las celdas tal como salen del autómata del incendio forestal, sino tras pasar por una etapa de procesado con map para convertir los estados de las celdas en los colores de los píxeles que queremos.

Podemos ver lo que sucede en la generación número cincuenta de un modelo del incendio forestal así:
(let* ((sizes '(320 320)) (tree-probability 1e-2) (fire-probability 1e-3) (rule (wrap-with-generator (forest-fire-rule tree-probability fire-probability) (uniform-generator 0))) (initial-cells (repeat 0 (apply * sizes))) (neighbourhoods (lambda (cells) (cyclic-forest-fire-neighbourhoods cells sizes))) (number-of-generations 50) (generations (step rule initial-cells neighbourhoods number-of-generations)) (cells (list-ref generations (- number-of-generations 1))) (cell->pixel (deterministic-rule '((0 "1 1 1") (1 "0 2 0") (2 "2 0 0")))) (pixels (map cell->pixel cells)) (rows (cartesian-rows pixels sizes))) (write-pnm "forest-fire.ppm" "P3" 2 rows))
Hemos aprovechado la función deterministic-rule para convertir los estados de las celdas a los colores de los píxeles. El resultado (aquí convertido después al formato PNG) es así:

Autómata del incendio forestal.
Autómata del incendio forestal.

Otros artículos de la serie


Categorías: Informática

Permalink: http://sgcg.es/articulos/2013/10/06/jugando-con-automatas-celulares-19/

Sobre el cierre del Gobierno estadounidense y las operaciones en la Estación Espacial Internacional

2013-10-02

Me han preguntado sobre el impacto inmediato del cierre del Gobierno de los Estados Unidos de América en las operaciones en la Estación Espacial Internacional. Aunque la mayor parte de la plantilla de NASA se queda sin ir a trabajar hasta nueva orden, todavía hay personal en MCC-H (Houston, Texas) y en HOSC (Huntsville, Alabama) para mantener en marcha las operaciones que están en marcha. Por supuesto, los programas de Europa, Canadá, Japón y Rusia siguen funcionando.


Categorías: Actualidad, Aeroespacio

Permalink: http://sgcg.es/articulos/2013/10/02/sobre-el-cierre-del-gobierno-estadounidense-y-las-operaciones-en-la-estacion-espacial-internacional/