Application Center - Maplesoft

App Preview:

The Eye Beguiled: trapped in a cube, between plane and space

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

impossible.mws

The Eye Beguiled: Trapped in a Cube, Between Plane and Space

by Laczik Blint, Technical University of Budapest, Hungary

laczik@goliat.eik.bme.hu

The impossible object demonstrated below is original. Similar objects can be found in Bruno Ernst's book
"The Eye Beguiled" (Optical Illusions), Benedikt Taschen Verlag GmbH Kln, 1989.

> restart:with(plottools):

> delta:=1:N:=7:u:=cuboid([0,0,0],[delta,delta,delta]):
v:=cuboid([0,N-1,N],[delta,N+delta,N+delta]):
w:=cuboid([0,N-2,N],[delta,N+delta,N+delta]):
for i from 1 to N do
f[i] := cuboid([i,0,0],[i+delta,delta,delta]):
g[i]:=cuboid([0,i,delta],[delta,i+delta,0]):
h[i]:=cuboid([0,N,i],[delta,N+delta,i+delta]):
od:

> s[1]:=sphere([0,N-2,N],0.25):s[2]:=sphere([N,delta,0],0.25):s[3]:=sphere([0,N-2,N+delta],0.25):s[4]:=sphere([N,delta,delta],0.25):

> l[1]:=line([0,N-2,N],[N,delta,0],color=red):l[2]:=line([0,N-2,N+delta],[N,delta,delta],color=red):

> plots[display](u,v,w,seq( [f[i],g[i],h[i]], i=1..N ),scaling=constrained,light=[105,32,0.32,0.9,0.7],color=green,orientation=[150,49],axes=none,projection=1,title=`1. How is this?`,titlefont=[TIMES,BOLD,25],axes=none);plots[display](u,v,w,seq( [f[i],g[i],h[i]], i=1..N ),scaling=constrained,light=[105,32,0.32,0.9,0.7],color=green,orientation=[135,39],axes=none,projection=1,title=`2. And how is this??`,titlefont=[TIMES,BOLD,25],axes=boxed);plots[display](l[1],l[2],s[1],s[2],s[3],s[4],u,v,w,seq( [f[i],g[i],h[i]], i=1..N ),scaling=constrained,light=[95,32,0.32,0.9,0.7],color=green,orientation=[163,59],axes=none,projection=1,title=`The solution: rotate the corresponding points with each other`,titlefont=[TIMES,BOLD,10],axes=boxed);

[Maple Plot]

[Maple Plot]

[Maple Plot]

> with(geom3d):

Warning, these names have been redefined: circle, dodecahedron, hexahedron, homothety, icosahedron, line, octahedron, point, polar, reflect, rotate, sphere, stellate, tetrahedron, transform, translate

> point(P1,[0,N-2,N]):point(P2,[N,delta,0]):point(P3,[0,N-2,N+delta]):point(P4,[N,delta,delta]):point(P5,[coordinates(P1)[1],coordinates(P1)[2],0]):point(P6,[coordinates(P2)[1],coordinates(P2)[2],0]):point(P7,[0,0,0]):point(P8,[0,1,0]):

> line(L1,[P1,P2]):line(L2,[P3,P4]):line(L3,[P5,P6]):line(L4,[P7,P8]):

The points P1 to P8 represent the significant points of the impossible object that we are making. The lines L1 and L2 are lines corresponding to the points P1 to P4, while the line L3 represents the projection of L1 (or L2) onto the plane xy and the line L4 represents the y-axis. To construct and display this object correctly, we need to rotate the basic figure around the z-axis at an angle a and around the y-axis at an angle b . (We must specify a and b in terms of the 3-dimensions that we wish to view the plot from)

> #draw({L1(color=red,thickness=3),L2(color=red,thickness=3),L3(color=blue,thickness=3),L4(color=green,thickness=3)},axes=normal,labels=[x,y,z],axesfont=[TIMES,BOLD,10]);

> alpha:=evalf((Pi/2+FindAngle(L4,L3))*180/Pi);beta:=evalf((Pi/2-FindAngle(L1,L3))*180/Pi);

alpha := 150.2551187

beta := 49.03407524

> AreParallel(L1,L2);

true

> plots[display](u,v,w,seq( [f[i],g[i],h[i]], i=1..N ),scaling=constrained,light=[105,32,0.32,0.9,0.7],color=green,orientation=[alpha,beta],axes=none,projection=1,title=`Construction with calculated angles`,titlefont=[TIMES,BOLD,15],axes=none);

[Maple Plot]

>

We can make the second construction in a similar way.