Febrero 2011: Microscopio
Imprimir
Escrito por Brian Johnston (Canada)   
Lunes 28 de Febrero de 2011
Microscopio

Imágenes a través de un microscopio matemático

por Brian Johnston

Nuestro más sincero agradecimiento a Brian Johnston por permitirnos incluir esta exposición en DivulgaMAT y que todos podamos disfrutar de su contenido.


"Las matemáticas poseen no sólo la verdad, sino la suprema belleza, una belleza fría y austera, como la de una escultura."
Bertrand Russell (1872-1970), matemático y filósofo británico

Los microscopios son conocidos por su facultad de permitir visualizar objetos muy pequeños con más claridad. A lo largo de los años, se les han ido añadiendo mecanismos adicionales a fin de realzar los detalles: filtros Rheinberg, condensadores de contraste de fase y de fondo-oscuro por nombrar algunos.

¿Qué sucede si queremos examinar, ampliar y realzar algo que no tiene masa, y que no ocupa espacio? ¿Qué podemos hacer para "ver"

[sin(3 * phi)4 + cos(3 * phi)4 + sin(3 * theta)4 + cos(3 * theta)4] ?

¿A qué podría parecerse esta función?, o para ser más precisos, ¿a qué podría parecerse una gráfica tridimensional de la función, si φ (phi) se mueve entre 0 y 2π, y θ (theta) se mueve entre 0 y π?

[x = sen(v) * cos(u)    y = sen(v) * sen(u)    z = cos(v)],

[x = cos(u)      y = sen(u)      z = v],

¿Cómo podríamos realzar nuestra visión de la función matemática usando técnicas adicionales para dar sombra o colorear la gráfica?

Para responder a la primera pregunta, observa la imagen de la portada. ¡Eso es lo que parece la función anterior! Para responder la segunda pregunta, sigue leyendo.

Estoy seguro de que muchos lectores podrían cuestionarse la validez de comparar un microscopio físico viendo un objeto material, con un software informático visualizando una función matemática inmaterial. Solo puedo decir que mis tres aficiones: la fotomicrografía de cristales, la macro-fotografía de flores silvestres, y la visualización de funciones matemáticas esotéricas, comparten muchos problemas, y ofrecen las mismas recompensas visuales.

Hay muchos “microscopios de software” para elegir, y de entre el grupo de unos cinco con los que yo he tenido la oportunidad de trabajar, he elegido el “mejor”, el programa Wolfram Research´s Mathematica. Mathematica es un paquete informático técnico, y como tal, realiza muchas tareas, aunque yo aprovecho principalmente su capacidad gráfica tridimensional. Mathematica es intimidante al principio; tiene un periodo de aprendizaje duro. Uno primero debe aprender el lenguaje de programación Mathematica para poder obtener resultados. Incluso después de haber trabajado con el software durante más de diez años, ¡todavía tengo mucho que aprender! Debajo se muestra una vista de una "ventana" del programa. Como se puede observar, la función representada puede verse desde cualquier ángulo.

Microscopio

Un ejemplo de los resultados obtenidos con Mathematica para una serie de esferas concéntricas,

[x = sin(v) * cos(u)    y = sin(v) * sin(u)    z = cos(v)]

intersecadas por una serie de cilindros concéntricos,

[x = cos(u)      y = sin(u)      z = v]

muestra algunas de las capacidades del sistema. Soporta una rudimentaria capacidad de iluminación, pero la imagen producida todavía se asemeja a una gráfica. Eliminando las líneas negras que muestran los polígonos se podría mejorar el realismo de la imagen final, pero todavía no se parece a la imagen real, tal y como pensamos en ella normalmente.

Microscopio

Para producir un resultado más realista, necesitamos un complemento adicional del software (Igual que un microscopio a veces necesita un condensador diferente. Lo siento, ¡no puedo evitarlo!). En este caso es ideal un "ray-tracer" (trazador de líneas, rayos). Un ray-tracer es un programa de software informático que produce una imagen disparando un haz de luz desde una cámara imaginaria dentro de un escenario tridimensional imaginario. Si el haz de luz interseca un objeto imaginario en ese escenario, podría ser reflejado, refractado, difuminado o absorbido, dependiendo de la composición superficial del objeto. Como el software continúa disparando haces de luz en el escenario, se construye una imagen detallada del mismo. El problema está en que el ray-tracer necesita un escenario al que mirar. Para obtener uno, se puede pedir a Mathematica que cree un archivo que contenga sólo los polígonos que componen la gráfica tridimensional. Este archivo "DXF", como es nombrado, puede ser leido en el ray-tracer para actuar como el escenario imaginario.

El primer ray-tracer a considerar aquí es Corel Software's Bryce (llamado así por el Cañón Bryce en los EE.UU.). Más abajo se puede ver un "pantallazo" del software después de haber completado el trazado de una imagen. ¿Qué tal esto como realismo? La delicadeza del cristal y del plástico, así como las reflexiones más destacadas de la iluminación, están todas fielmente reproducidas. (También podría haber tenido sombras, pero las deshabilité en el software.)

Microscopio

Bryce maneja magnificamente texturas brillantes tales como cristal y metal. Nótese que el usuario puede elegir las texturas, colores, luces y posición de las luces en el escenario. La siguiente imagen muestra el objeto resultante de la superposición de una serie de toros:

[x = (a + cos(v)) * cos(u)    y = (a + cos(v)) * sin(u)    z = sin(v)]

los cuales han sido rotados con respecto a uno dado. Se ha dado a cada toro una textura metálica con una alta reflexión. El plano tiene una textura aleatoriamente desigual, la cual es reflejada en la unión de los toros.

Microscopio


Un ejemplo de cómo Bryce maneja la refracción es el siguiente: Considera la imagen del "armónico esférico" (en coordenadas esféricas rho, theta y phi)

[sin(0 * phi)1 + cos(4 * phi)2 + sin(0 * theta)1 + cos(2 * theta)1].

Al objeto se le ha asignado una textura de cristal con alto índice de refracción.

Microscopio

Debajo hay una "macro-fotografía" de otro "armónico esférico"; En esta ocasión, la textura es una fina lámina de cristal con un diseño azul ondulado para realzar la superficie irregular.

[sin(1 * phi)2 + cos(4 * phi)2 + sin(4 * theta)4 + cos(4 * theta)2].

Microscopio

La mínima superficie de Richmond definida por:

richmondmincurve[n_][z_] := {-1/(2 * z) - z^(2 * n + 1)/(4 * n + 2),
-I/(2 * z) + I * z^(2 * n + 1)/(4 * n + 2),z^ n/n}

se asienta encima de un pie (pedestal) compuesto de dos partes, cada una de las cuales es la superficie de revolución de una función matemática.

Microscopio

Las dos imágenes siguientes muestran la espectacular diferencia debida a la asignación de distintas texturas en el resultado final. A la primera espiral toroidal se le ha asignado una textura metálica de latón, mientras que a la segunda se le ha dado una textura metálica de acero. En ambos casos, se ha colocado una elipsoide en el centro de la espiral. (En la primera imagen, detrás del objeto se han situado dos espejos en ángulo recto.)

x = (a * sin(c * t) + b) * cos(t)    y=(a * sin(c * t) + b)*sin(t)    z = a * cos(c * t)

Microscopio

Microscopio


El siguiente ray-tracer es el trueSpace (espacio verdadero) de la Caligari Corporation. Este Software también lee archivos de Mathematica DXF, y puede producir resultados "imponentemente" realistas. El área de trabajo en la pantalla es considerablemente más complejo que en el Bryce. Nótese que la superficie subyacente importada del Mathematica, se muestra con las lineas azules. He trazado una sección de la imagen para mostrar los espectaculares cambios causados por el proceso de ray-tracing.

Microscopio

Aquí está de nuevo la primera imagen de la exposición. Es el "armónico esférico".

[sin(3 * phi)4 + cos(3 * phi)4 + sin(3 * theta)4 + cos(3 * theta)4].

La textura superficial es una imagen generada con otro programa, la cual ha sido "adherida" a la superficie. Este poderoso procedimiento te permite colocar cualquier imagen (incluida tu cara si así lo quieres) sobre la superficie, y poner a escala la imagen apropiadamente.

Microscopio

En la siguiente imagen puede verse una serie de toros cuyo diámetro de "tubo" varía como una función senoidal. A cada toro se le ha asignado un color diferente.

Microscopio

El objeto que se muestra a continuación se basa en un dodecaedro (un sólido Platónico con doce caras). Se usaron las herramientas OpenTruncate (Recorte Abierto) y Stellate (estrellado, con forma de estrella) del Mathematica para alterar la forma de la estructura, y para hacer visibles los recortes en las caras. El marco de salida se construyó usando las mismas herramientas. Se colocaron esferas en cada vértice.

Microscopio


Obtuve la idea para la siguiente serie de imágenes de una foto del "Easter egg" (huevo de Pascua) del joyero ruso Faberge (1884), hecho de oro, con incrustaciones de joyas, y exhibido en un pedestal. De nuevo, la principal estructura es un dodecaedro, esta vez con las caras prolongadas hacia fuera. El pedestal es el mismo que se utiliza en la imagen anterior del Bryce. Nótese que he colocado dos "lentes" frente al dodecaedro, cada una "hecha" de cristal con un índice de refracción diferente. (A mayor índice de refracción, mayor es el aumento.)

Microscopio

En la siguiente imagen, la estructura base es un icosaedro (un sólido Platónico con veinte caras). En el anexo del final de la exposición, he incluido el programa Mathematica completo para producir una imagen similar a las dos anteriores. Esto, espero, dará a los lectores interesados una idea de lo que está implicado para producir la estructura subyacente de una imagen.

Microscopio

Las dos imágenes siguientes fueron realizadas de manera similar.

Microscopio

Microscopio

El último ray-tracer es el Persistence of Vision Raytracer (POV-Ray). Este software es único por varias razones. Es completamente libre, y se actualiza regularmente para añadir nuevas funciones. En contraste con los programas anteriores, el POV-Ray está diseñado para manejar funciones matemáticas, y se suministra con muchas mejoras para hacer el proceso más sencillo. Esto significa que no hay necesidad de hacer el recorrido Mathematica -> DXF file -> ray-tracer que requieren los otros programas. Desafortunadamente, ¡hay un lado negativo! Igual que el Mathematica, el POV-Ray exige al usuario aprender su propio lenguaje de programación para ser capaz de obtener resultados. Sin embargo, este proceso se ha hecho más sencillo gracias a la disponibilidad de muchos tutoriales y ejemplos sobre la materia. Más abajo se puede ver la pantalla de trabajo.

Microscopio


El extraño objeto que viene a continuación está compuesto de una esfera reflectante rodeada por una onda senoidal proyectada sobre una superficie esférica. Esta onda senoidal viene dada por la siguiente ecuación:

x = (b2 - c2 cos2 at)1/2 cos t      y = (b2 - c2 cos2 at)1/2 sin t      z = c cos at

Como la gráfica de la ecuación de arriba resulta ser una linea, en cada punto calculado he trazado una esfera para crear una superficie más interesante.

Microscopio

Si se acerca la "cámara", se puede ver con más detalle (una ampliación virtual).

Microscopio

La esfera con pinchos que se muestra más abajo está generada por una gráfica esférica de la función:

1 + sin[5*x]8 * sin[5*y]8/2, {x, 0, 2*pi}, {y, 0, pi}.

La base es la gráfica implícita de la función:

x2 * y2 + y2 * z2 + z2 * x2 = 1.

El efecto moteado que se observa en la superficie de la esfera, es la reflexión de una textura moteada sobre la superficie interna de otra esfera, separada por una gran distancia.

Microscopio

A continuación tenemos una "macro-fotografía" (ampliación) virtual de una porción de la esfera.

Microscopio

La siguiente imagen muestra un primer plano del centro de un toro de radio decreciente (ecuación más abajo). En los puntos evaluados de la gráfica se han trazado un gran número de esferas reflectantes. La apariencia moteada de las esferas es el resultado de reflejar la superficie de otra esfera mucho mayor.

x = (R + r * cos(psi)) * cos(phi)    y = (R + r * cos(psi)) * sin(phi)     z = r * sin(psi)

Microscopio

La última imagen de esta exposición es una gráfica implícita de la función:

x3 + y3 + z3 + 1 = (x + y + z + 1)2.

Microscopio

Los observadores astutos puede que hayan notado que las cámaras "virtuales" ray-tracer producen imágenes con una profundidad de campo infinita —todo en la imagen está perfectamente enfocado, incluso en situaciones de ampliación extrema. ¿Qué maravilloso sería si los microscopios y cámaras "reales"  tuvieran esta capacidad!

Incluso si no estás convencido todavía del concepto de un "microscopio matemático", espero que hayas encontrado reveladoras las imágenes tridimensionales de funciones matemáticas. ¡También espero que estés de acuerdo con la afirmación de Bertrand Russell de que las matemáticas pueden poseer una "belleza extrema"!


Anexo:

Ejemplo del programa Mathematica:

A Mathematical Construction
B. Johnston


In[1]:=
Off[General::spell,General::spell1]

In[2]:=

barycenter[Polygon[l_]] := Plus @@l/Length[l]

In[3]:=

ScalePolygon[p:Polygon[l_],r_] :=
[{b = barycenter[p]},
[(# + b)&/@(r((# - b)&/@l))]]

In[4]:=

Needs["Graphics`Polyhedra`"];

In[5]:=

Needs["Graphics`Shapes`"];

In[6]:=

SetOptions[Graphics3D,ViewPoint->{2.019, -1.837, 2.000},
Axes -> False, Boxed -> False,
LightSources->{{{1,0,1},RGBColor[0.7,0.2,0.1]},
{{1,1,1},RGBColor[0.3,0.5,0.2]},
{{0,1,1},RGBColor[0.1,0.4,0.5]}}];

In[7]:=

poly1 = OpenTruncate[Stellate[Stellate[Stellate[Stellate[
OpenTruncate[Dodecahedron[]], 0.8], 1], 1], 1], 0.2];

poly2 = OpenTruncate[Stellate[Dodecahedron[{0, 0, 0}, 1.1], 1], 0.2];


s1 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.53, 0.38, 0.85}];

s2 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-0.2, 0.62, 0.85}];
s3 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-0.65, 0.0, 0.85}];
s4 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-0.2, -0.62, 0.85}];
s5 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.53, -0.38, 0.85}];
s6 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.85, 0.62, 0.2}];
s7 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-0.32, 1.0, 0.2}];
s8 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-1.05, 0.0, 0.2}];
s9 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-0.33, -1.0, 0.2}];
s10 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.85, -0.62, 0.2}];
s11 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.32, 1.0, -0.2}];
s12 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-0.85, 0.62, -0.2}];
s13 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-0.85, -0.62, -0.2}];
s14 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.33, -1.0, -0.2}];
s15 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {1.05, 0.0, -0.2}];
s16 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.2, 0.62, -0.85}];
s17 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {-0.53, 0.38, -0.85}];
s18 = TranslateShape[
Graphics3D[Sphere[0.15, 24, 24]], {-0.53, -0.38, -0.85}];
s19 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.2, -0.62, -0.85}];
s20 = TranslateShape[Graphics3D[Sphere[0.15, 24, 24]], {0.65, 0.0, -0.85}];

In[29]:=

p1 = Graphics3D[ScalePolygon[#, 0.5]&/@ poly1];
p1=Graphics3D[{EdgeForm[{Thickness[0.0001],
[0]}], First[p1]}];

In[31]:=

MakePolygons[vl_List] :=
[{l = vl,
= Map[RotateLeft, vl],
},
= {
, RotateLeft[l],
[l1], l1
};
= Map[Drop[#, -1]&, me, {1}];
= Map[Drop[#, -1]&, me, {2}];
[
,
[me, {3, 1, 2}],
{2}
]
]

In[32]:=

OutlinePolygon[p:Polygon[m_], r_] :=
[
{l = m, q = ScalePolygon[p, r][[1]]},
[l, First[l]];
= Append[q, First[q]];
{EdgeForm[], MakePolygons[{l, q}],
[0.0001],GrayLevel[0],Line[l], Line[q]}
]

In[33]:=

outline1 = Graphics3D[
[#, 0.7]&/@poly1];
outline1=Graphics3D[{EdgeForm[{Thickness[0.0001],
[0]}], First[outline1]}];

outline2 = Graphics3D[

[#, 0.9]&/@poly2];
outline2=Graphics3D[{EdgeForm[{Thickness[0.0001],
[0]}], First[outline2]}];

In[37]:=

sphr = ParametricPlot3D[{0.67 Sin[v] Cos[u],
.67 Sin[v] Sin[u], 0.67 Cos[v]},
{u, 0, 2Pi}, {v, Pi/10, Pi - Pi/10},
-> {39, 20},
-> Identity];

sph = Graphics3D[{EdgeForm[], First[sphr]}];


In[39]:=

ttt=Show[{outline1, p1,outline2,sph,s1,s2,s3,s4,s5,s6,s7,
,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20},
PlotRange->All,
DisplayFunction -> $DisplayFunction];

 
Volver