Vous êtes sur la page 1sur 15

Espejos cilndricos y arte anamrfico

Autor: Jos Luis Gmez-Muoz


Idea original: Ral Gmez-Castillo
Basado en codigo escrito por Andrew Moylan
Puedes crear tu propio arte anamrfico, a mano o con Mathematica. En este tipo de
arte, se pinta una imagen distorsionada, de tal forma que su reflejo en un espejo cilndrico se ve sin distorsin, como se muestra en las siguientes imgenes:

cilindrico.nb

cilindrico.nb

Usa el comando FileNames["*.jpg"] para ver las imgenes JPG que ya estn disponibles
en la carpeta (directorio) de la que Mathematica leer los archivos. Si obtienes una lista
vacia, copia una imagen JPG en esa carpeta (usualmente ser "Mis Documentos" si la
computadora usa Windows). Puedes obtener la imagen de internet, pero procura que
no sea muy grande para que los dems comandos de esta prctica no sean muy lentos.
Despus de haber copiado la imagen vuelve a ejecutar el comando FileNames["*.jpg"]
para verificar que qued en a carpeta adecuada:
FileNames@".jpg"D

820080824a.JPG, 20080824b.JPG, ajedrez.JPG, coca.jpg, lenna.JPG,


lennaMod.JPG, spikey.JPG, tabla.jpg, universo.JPG, vaticano.JPG<

Selecciona una de las imgenes JPG de la lista anterior e imprtala en Mathematica.


Los siguientes comandos guardan la imagen en la variable mydata con el formato adecuado para los dems comandos usados en esta prctica.
Si tu imagen es muy grande, el siguiente comando puede tardar varios segundos
(incluso minutos) en tu computadora:

cilindrico.nb

mydata = Reverse@Import@"spikey.JPG", "Data"D 255D;


Graphics@Raster@mydataDD

Ahora "envuelve" la imagen alrededor de un clilndro con los siguientes comandos.


Si tu imagen es muy grande, el siguiente comando puede tardar varios segundos
(incluso minutos) en tu computadora:

cilindrico.nb

myinterp = Map@Function@w, ListInterpolation@w, 880, 1<, 80, 1<<, InterpolationOrder 1DD,


Transpose@mydata, 82, 3, 1<DD;
p1 = RevolutionPlot3D@81, y<, 8y, 0, 4<, PlotPoints 100, Mesh None,
ColorFunction HRGBColor @@ Through@myinterp@4, 5DD &LD

Ahora "mapea" la imagen en un disco con los siguientes comandos.


Si tu imagen es muy grande, el siguiente comando puede tardar varios segundos
(incluso minutos) en tu computadora:

cilindrico.nb

p2 = ParametricPlot3D@8 r Cos@tD, r Sin@tD, 0<, 8t, 0, 2 Pi<, 8r, 1, 4<, PlotPoints 100,
Mesh None, ColorFunction HRGBColor @@ Through@myinterp@4, 5DD &LD

El comando Show permite mostrarlos juntos, para reproducir una imagen parecida a las
fotos al principio de este documento (en un experimentos real, el espejo cilndrico NO
se coloca en el centro del disco, se coloca un poco atrs):

cilindrico.nb

Show@p1, p2, PlotRange AllD

Imprime la siguiente imagen y obtn o frabrica tu propio espejo cilndrico, ve los ejemplos al final de este documento (el espejo cilndrico NO se coloca en el centro del disco,
se coloca un poco atrs):
Show@p2, ViewPoint 80, 0, 100<, Boxed False, Axes FalseD

Otra imagen, que fue modificada para que la foto ocupe slo una fraccin del disco:

cilindrico.nb

mydata = Reverse@Import@"lennaMod.JPG", "Data"D 255D;


Graphics@Raster@mydataDD

Imprime la siguiente imagen y obtn o frabrica tu propio espejo cilndrico, ve los ejemplos al final de este documento (el espejo cilndrico NO se coloca en el centro del disco,
se coloca un poco atrs):
myinterp = Map@Function@w, ListInterpolation@w, 880, 1<, 80, 1<<, InterpolationOrder 1DD,
Transpose@mydata, 82, 3, 1<DD;
p2 = ParametricPlot3D@8 r Cos@tD, r Sin@tD, 0<, 8t, 0, 2 Pi<, 8r, 1, 4<, PlotPoints 100,
Mesh None, ColorFunction HRGBColor @@ Through@myinterp@4, 5DD &LD;
Show@p2, ViewPoint 80, 0, 100<, Boxed False, Axes FalseD

cilindrico.nb

10

cilindrico.nb

Ejemplos varios realizados con Mathematica o a mano o con otros programas

cilindrico.nb

11

12

cilindrico.nb

cilindrico.nb

13

14

cilindrico.nb

cilindrico.nb

15

Referencias
http://www.dkimages.com/discover/Home/Science/Physics-and-Chemistry/Sound-andLight/Reflection/Reflection-20.html
http://www.physics.uoguelph.ca/morph/morph1.html
http://www.erclc.org/StaffPages/David/MathExplorations/FunhouseMirrors.htm
http://picasaweb.google.com/madonarri/StreetPainting/photo#5128241700030532578
http://britton.disted.camosun.bc.ca/anamorphic/cylmirror.html
Autor: Jos Luis Gmez-Muoz
Idea original: Ral Gmez-Castillo
Basado en codigo escrito por Andrew Moylan

Vous aimerez peut-être aussi