Message Boards Message Boards

Le Crane: analyzing lithographs "Anamorphosis Suite" by Salvador Dalí

Posted 1 year ago

enter image description here

Back in 1972, Salvador Dalí published five lithographs assembled in the suite "Anamorphoses". According to one of the galleries selling the prints: "when one of these prints is placed flat on a table with a cylindrical mirror about 3 inches in diameter at a specific spot a new image appears in the cylinder". This describes exactly the effect of "cylindrical anamorphosis", an optical illusion frequently used by Dalí to conceal "secret" or "forbidden" images in plain sight. I have been analysing anamorphosis here and here in previous community contributions.

enter image description here

Above is the complete set of prints (top row) and the reflections in a cylindrical mirror (bottom row). To the left is the "double image" I analysed here some time ago in this community. This time, I take a look at the skull (Le crâne) and see what I can do with the Mathematica functions I used.

enter image description here

A point S in the x-y plane is observed as as P along the view line v. P is the reflection of S and S is the anamorphic map of P. The points S and P is form an enantiomorph pair. In my Wolfram Demonstration Cylindrical Mirror Anamorphosis, I showed how the function cylindAnamorphic below computes the coordinates of S from the coordinates of a reflected point P and the view direction phi formed by the view line v:

cylindAnamorphic[imagePnt : {yi_, zi_}, viewDir : phi_] :=
 Module[{qx, qy, 
   qz}, {qx, qy, qz} = {yi, Sqrt[1 - yi^2], 
    zi - Sqrt[1 - yi^2] Tan[-phi]};
  {(qx (2 qy qz Cos[phi] + (qx^2 + qy^2) Sin[phi]))/(
   qx^2 Sin[phi] + qy^2 Sin[phi]), (
   Cos[phi] ((-qx^2 + qy^2) qz + qy (qx^2 + qy^2) Tan[phi]))/(
   qx^2 Sin[phi] + qy^2 Sin[phi])}]
cylindAnamorphic[{yi, zi}, phi] // Simplify
{yi (3 - 2 yi^2 + 2 Sqrt[1 - yi^2] zi Cot[phi]), 
  2 (1 - yi^2)^(3/2) + (zi - 2 yi^2 zi) Cot[phi], 0};
cylinderAmorphic[{yi_, zi_}, 
  phi_] := {yi (3 - 2 yi^2 + 2 Sqrt[1 - yi^2] zi Cot[phi]), 
  2 (1 - yi^2)^(3/2) + (zi - 2 yi^2 zi) Cot[phi]}

The inverse function for the coordinates of the reflection P given those of the anamorphic map S and the view direction phi is derived below:

cylinderReflection[{xr_, yr_}, phi_] := 
 Re /@ First[
   Select[{yi, zi} /. 
     Solve[{xr, 
        yr} == {yi (3 - 2 yi^2 + 2 Sqrt[1 - yi^2] zi Cot[phi]), 
        2 (1 - yi^2)^(3/2) + (zi - 2 yi^2 zi) Cot[phi]}, {yi, zi}], 
    Last[#] > 0 &]]

Here we can test the effectiveness of the two inverse functions cylinderAmorphic and cylinderReflection. We apply to a random point S in the x-y plane:

phi = RandomReal[{5., 85.}]; Degree; pt = 
 RandomReal[{-10, 10}, {2}]; Rasterize@pt
cylinderAmorphic[cylinderReflection[pt, phi], phi] // Rasterize

enter image description here

With the function cylinderReflection, we can now reconstruct the skull without the use of a mirror! We take the Dalí lithograph (Le Crâne or The Skull, attached at the end as: "le crane.jpg" ) as the anamorphic version and find the original "hidden" image.

anaCrane = Import[.../"le crane.jpg"  ];
craneIG = ImageGraphics[ImageReflect[anaCrane, Left], 5]

enter image description here

The original instructions from archivist Albert Field were as follows: "putting a cylindrical mirror about 3 inches in diameter at a specific spot gives a new image". The lithograph is about 75cm x 56cm. The printout I will use is on an A4 sheet and, to be proportional, I used a cylinder of 7.5 X 25/56 or about 3.5 cm diameter.

craneComplex = 
  craneIG[[
    1]] /. {x_?(And[NumericQ[#], Not[IntegerQ[#]]] &), 
     y_} :> {x - 175, y - 125}/25;
Graphics[{craneComplex, {Dashed, Circle[]}}, Axes -> True, 
  AxesOrigin -> {0, 0}];
reflectCrane = 
  Quiet@MapAt[cylinderReflection[#, 23.5 °] &, craneComplex, {1, All}];
Graphics[{{Line[{{-1, -1}, {-1, 4}}], Line[{{1, -1}, {1, 4}}], 
   Line[{{-1, 0}, {1, 0}}]}, reflectCrane}, Axes -> True, 
 TicksStyle -> 1, PlotRange -> {{-1.2, 1.2}, {0, 3}}]

enter image description here

Using the inverse function cylinderAmorphic, we can make our own Dalí type "anamorphose". We use use the image of a human skull from e.g shutterstock.com. (attached as "skull.png")

skull = ImageResize[ImageAdjust@ Import[.../"skull.jpg"  ], 500] ; 

This converts the image to a GraphicsComplex:

skullIG = ImageGraphics[skull, 10]

enter image description here

Mapping cylinderAmorphic to the point coordinates in the GraphicsComplex gives an anamorphic map of the skull graphic:

enter image description here

As with the Dalí lithograph, putting a cylindrical mirror of the right diameter in the right spot, we see a reflection of the original skull image.

enter image description here

Anamorphism was one of the illusions frequently used by Dalí and similar works could be analysed the same way as above. However, the galleries, selling these lithographs for thousands of dollars, seem to have lost any notion of the original intent of the works. Some even recommend it using as a vertical wall decoration! The admirer would have to try putting a cylindrical mirror perpendicular to the wall and in the middle of the picture to observe the image originally intended by Dalí! Or use Mathematica!

enter image description here

MODERATOR NOTE: the following are original sources of the used images
Skull
Le Crane

POSTED BY: Erik Mahieu
2 Replies

This is a great post on anamorphic transforms. There is also an anamorphic skull in Holbein's picture called the Ambassadors in the National Gallery in London, see https://en.wikipedia.org/wiki/The_Ambassadors_(Holbein)

Michael

POSTED BY: Michael Kelly

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: Moderation Team
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract