espejos cilíndricos y arte...

15
Espejos cilíndricos y arte anamórfico Autor: José Luis Gómez-Muñoz Idea original: Raúl Gómez-Castillo Basado en codigo escrito por Andrew Moylan Puedes crear tu propio arte anamórfico, a mano o con Mathematica. En este tipo de arte, se pinta una imagen distorsionada, de tal forma que su reflejo en un espejo cilín- drico se ve sin distorsión, como se muestra en las siguientes imágenes:

Upload: dinhdiep

Post on 29-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

Espejos cilíndricos y arte anamórfico

Autor: José Luis Gómez-Muñoz

Idea original: Raúl Gómez-Castillo

Basado en codigo escrito por Andrew Moylan

Puedes crear tu propio arte anamórfico, a mano o con Mathematica. En este tipo de

arte, se pinta una imagen distorsionada, de tal forma que su reflejo en un espejo cilín-

drico se ve sin distorsión, como se muestra en las siguientes imágenes:

Page 2: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

2 cilindrico.nb

Page 3: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están 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 demás comandos de esta práctica no sean muy lentos.

Después 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 imágenes JPG de la lista anterior e impórtala en Mathematica.

Los siguientes comandos guardan la imagen en la variable mydata con el formato ade-

cuado para los demás comandos usados en esta práctica.

Si tu imagen es muy grande, el siguiente comando puede tardar varios segundos

(incluso minutos) en tu computadora:

cilindrico.nb 3

Page 4: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

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

Graphics@Raster@mydataDD

Ahora "envuelve" la imagen alrededor de un clilíndro con los siguientes comandos.

Si tu imagen es muy grande, el siguiente comando puede tardar varios segundos

(incluso minutos) en tu computadora:

4 cilindrico.nb

Page 5: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

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 5

Page 6: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

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 cilíndrico NO

se coloca en el centro del disco, se coloca un poco atrás):

6 cilindrico.nb

Page 7: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

Show@p1, p2, PlotRange → AllD

Imprime la siguiente imagen y obtén o frabrica tu propio espejo cilíndrico, ve los ejemp-

los al final de este documento (el espejo cilíndrico NO se coloca en el centro del disco,

se coloca un poco atrás):

Show@p2, ViewPoint → 80, 0, 100<, Boxed → False, Axes → FalseD

Otra imagen, que fue modificada para que la foto ocupe sólo una fracción del disco:

cilindrico.nb 7

Page 8: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

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

Graphics@Raster@mydataDD

Imprime la siguiente imagen y obtén o frabrica tu propio espejo cilíndrico, ve los ejemp-

los al final de este documento (el espejo cilíndrico NO se coloca en el centro del disco,

se coloca un poco atrás):

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

8 cilindrico.nb

Page 9: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

cilindrico.nb 9

Page 10: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

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

10 cilindrico.nb

Page 11: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

cilindrico.nb 11

Page 12: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

12 cilindrico.nb

Page 13: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

cilindrico.nb 13

Page 14: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

14 cilindrico.nb

Page 15: Espejos cilíndricos y arte anamórficohomepage.cem.itesm.mx/lgomez/data/mathematica/cilindrico.pdf · Usa el comando FileNames["*.jpg"] para ver las imágenes JPG que ya están disponibles

Referencias

http://www.dkimages.com/discover/Home/Science/Physics-and-Chemistry/Sound-and-

Light/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 Gómez-Muñoz

Idea original: Raúl Gómez-Castillo

Basado en codigo escrito por Andrew Moylan

cilindrico.nb 15