Bellevedere

Maurits Cornelius Escher. Litografía. 1958

Escher crea un edificio en el que el suelo, las columnas y el techo nos ponen continuamente en contradicción. Los pilares parecen estar todos del mismo lado.

Se pone en marcha una bola que pasea primero por la terraza del suelo. Sube por la escalera al siguiente piso, lo rodea y sigue hasta el techo para terminar el paseo por el edifcio cayendo sobre el cubo que sostiene en la mano el personaje de la zona inferior izquierda.

No es un cubo cualquiera sino la estructura en varillas de un cubo de Necker: una figura indecidible en la que no podemos saber cuál de las caras está delante o detrás. Escher nos obliga a fijar nuestra vista en este efecto con los cruces de dos de las aristas verticales. Se amplía esa zona del cuadro para que la bola empiece a recorrer las aristas del cubo de forma que cuando se encuentre en una de las barras verticales, dejamos de verla si se encuentra detrás de otra horizontal para volver a mostrarla después.

Q7 = (5.755164607749944, 4.820278745644609)
A1 = (1.5368138528138362, -0.8661324041811858)
d = 8 (slider from 1 to 15, step 0.01)
A2: A1 + (d, 0)
r1 = Line(A1, A2)
B1 = (3.0792064195966398, -1.256376306620206)
r2 = Line(B1, r1)
t_1 = OrthogonalLine(Q7, r2)
o = 3.16 (slider from 1 to 10, step 0.001)
a = 0 (slider from 0 to 36, step 0.001)
a7 = Max(0, Min[1, a - 7])
c = 13.76 (slider from 0 to 20, step 0.01)
a1 = Max(0, Min[1, a - 1])
a3 = Max(0, Min[1, a - 3])
a16 = Max(0, Min[1, a - 16])
a17 = Max(0, Min[1, a - 17])
a4 = Max(0, Min[1, a - 4])
a2 = Max(0, Min[1, a - 2])
a8 = Max(0, Min[1, a - 8])
a9 = Max(0, Min[1, a - 9])
a11 = Max(0, Min[1, a - 11])
a12 = Max(0, Min[1, a - 12])
a15 = Max(0, Min[1, a - 15])
a18 = Max(0, Min[1, a - 18])
a19 = Max(0, Min[1, a - 19])
a5 = Max(0, Min[1, a - 5])
a10 = Max(0, Min[1, a - 10])
a13 = Max(0, Min[1, a - 13])
a14 = Max(0, Min[1, a - 14])
b = 10 (slider from 0.5 to 20, step 0.01)
a6 = Max(0, Min[1, a - 6])
a71 = Max(0, Min[0.32, a - 7.4])
u = 1 (slider from 0 to 2)
dd: (1.25 * d)
A3_1: A2 + (0, dd)
a61 = Min(1, (2 * a6))
a62 = Max(0, (2 * (a6 - 0.5)))
A = (19.06062337662332, 4.318536585365863)
B = (-7.810456762749447, 4.4300348432055845)
Z04 = (2.707545560130903, 2.4230662020905993)
Z02 = (8.54262105374297, 2.869059233449485)
g = OrthogonalLine(Z04, r1)
h = OrthogonalLine(Z02, r1)
Z17 = Point(h)
j = Ray(A, Z17)
i = Ray(B, Z04)
Z13 = Point(g)
f = Ray(B, Z13)
k = Ray(A, Z02)
Z10 = Point(h)
l = Ray(A, Z10)
Z08 = Point(g)
m = Ray(B, Z08)
Z05 = Intersect(i, k)
K = Intersect(j, f)
Z09 = Intersect(l, m)
n = OrthogonalLine(Z05, r1)
p = OrthogonalLine(Z09, r1)
r = Ray(A, Z04)
Z03 = Intersect(p, r)
s = Ray(B, Z17)
t = Ray(B, Z10)
e = Ray(A, Z08)
Z07 = Intersect(t, e)
Z16 = Intersect(p, j)
D = Point(r)
q = OrthogonalLine(D, r1)
f_1 = Ray(B, Z16)
Z14 = Point(f)
g_1 = OrthogonalLine(Z14, r1)
h_1 = Ray(A, Z13)
R2_1 = Intersect(s, h_1)
i_1 = Ray(A, Z14)
Z12 = Intersect(f_1, h_1)
Z15 = Intersect(f_1, i_1)
c1, p3, p4, p1, p2 = Polygon(Z04, Z05, Z02, Z03)
c2, q3_1, q2, q1_1, q4_1 = Polygon(Z08, Z07, Z10, Z09)
Z18 = Intersect(s, i_1)
c3, s3, r4, j_1, r2_1 = Polygon(Z15, Z16, Z17, Z18)
c4, s4, k_1, s2, s1 = Polygon(Z12, Z15, Z14, Z13)
Z06 = Point(q2)
Z01 = Intersect(k, g_1)
distanciaP4P3 = Distance(Z05, Z04)
distanciaP1P2 = Distance(Z02, Z03)
m_1 = Line(Z01, Z06)
Z11 = Intersect(m_1, f_1)
Q0 = Intersect(n, m_1)
P01: Z01 + (a1 * (Z02 - Z01))
P02: Z02 + (a2 * (Z03 - Z02))
P03: Z03 + (a3 * (Z04 - Z03))
P04: Z04 + (a4 * (Z05 - Z04))
P05: Z05 + (a5 * (Z01 - Z05))
P06: Z01 + (a6 * (Z06 - Z01))
P08: Z07 + (a8 * (Z08 - Z07))
P09: Z08 + (a9 * (Z09 - Z08))
P10: Z09 + (a10 * (Z10 - Z09))
P07: Z06 + (a7 * (Z07 - Z06))
P11: Z10 + (a11 * (Z06 - Z10))
P12: Z06 + (a12 * (Z11 - Z06))
P13: Z11 + (a13 * (Z12 - Z11))
P14: Z12 + (a14 * (Z13 - Z12))
P15: Z13 + (a15 * (Z14 - Z13))
P16: Z14 + (a16 * (Z15 - Z14))
P17: Z15 + (a17 * (Z16 - Z15))
a20 = Max(0, Min[1, a - 20])
a21 = Max(0, Min[1, a - 21])
a22 = Max(0, Min[1, a - 22])
a23 = Max(0, Min[1, a - 23])
a24 = Max(0, Min[1, a - 24])
a25 = Max(0, Min[1, a - 25])
a26 = Max(0, Min[1, a - 26])
a27 = Max(0, Min[1, a - 27])
a28 = Max(0, Min[1, a - 28])
P20: Z18 + (a20 * (Z15 - Z18))
P18: Z16 + (a18 * (Z17 - Z16))
P19: Z17 + (a19 * (Z18 - Z17))
P21: Z15 + (a21 * (Z11 - Z15))
P22: Z11 + (a22 * (Q0 - Z11))
P001 = If(a > 1 ∧ a ≤ 2, P01, If[a > 2 ∧ a ≤ 3, P02, If[a > 3 ∧ a ≤ 4, P03, If[a > 4 ∧ a ≤ 5, P04, If[a > 5 ∧ a ≤ 6, P05, If[a > 6 ∧ a ≤ 7, P06, If[a > 7 ∧ a ≤ 8, P07, If[a > 8 ∧ a ≤ 9, P08, If[a > 9 ∧ a ≤ 10, P09, If[a > 10 ∧ a ≤ 11, P10, If[a ≥ 0 ∧ a ≤ 1, Z01, D]]]]]]]]]])
P119 = NaN
P002 = If(a ≤ 11, P001, If[a > 11 ∧ a ≤ 12, P11, If[a > 12 ∧ a ≤ 13, P12, If[a > 13 ∧ a ≤ 14, P13, If[a > 14 ∧ a ≤ 15, P14, If[a > 15 ∧ a ≤ 16, P15, If[a > 16 ∧ a ≤ 17, P16, If[a > 17 ∧ a ≤ 18, P17, If[a > 18 ∧ a ≤ 19, P18, If[a > 19 ∧ a ≤ 20, P19, D]]]]]]]]])
A3 = Point(r2)
A4 = Point(r2)
B5: A3 + (a24 * (A4 - A3))
Q6 = (7.148892830746457, 5.229105691056921)
Q8 = (6.740065885334147, 4.448617886178871)
n_1 = Line(Q7, Q6)
q_1 = Line(Q8, Q7)
a29 = Max(0, Min[1, a - 29])
a30 = Max(0, Min[1, a - 30])
a31 = Max(0, Min[1, a - 31])
a32 = Max(0, Min[1, a - 32])
p_1 = Line(Q6, q_1)
Q2 = Point(t_1)
s_1 = Line(Q2, q_1)
a_1 = Line(Q2, n_1)
r_1 = Line(Q8, n_1)
Q5 = Intersect(p_1, r_1)
b_1 = OrthogonalLine(Q8, r2)
c_1 = OrthogonalLine(Q5, r2)
d_1 = OrthogonalLine(Q6, r2)
Q1 = Intersect(d_1, a_1)
Q3 = Intersect(s_1, b_1)
e_1 = Line(Q3, n_1)
Q4 = Intersect(c_1, e_1)
P24: Q0 + (a24 * (Q1 - Q0))
P25: Q1 + (a25 * (Q2 - Q1))
P26: Q2 + (a26 * (Q3 - Q2))
P27: Q3 + (a27 * (Q4 - Q3))
P28: Q4 + (a28 * (Q5 - Q4))
P29: Q5 + (a29 * (Q6 - Q5))
P30: Q6 + (a30 * (Q7 - Q6))
P31: Q7 + (a31 * (Q8 - Q7))
a33 = Max(0, Min[1, a - 33])
a34 = Max(0, Min[1, a - 34])
a35 = Max(0, Min[1, a - 35])
a36 = Max(0, Min[1, a - 36])
a37 = Max(0, Min[1, a - 37])
P32: Q8 + (a32 * (Q3 - Q8))
P33: Q3 + (a33 * (Q4 - Q3))
P34: Q4 + (a34 * (Q1 - Q4))
P35: Q1 + (a35 * (Q6 - Q1))
P003 = If(a ≤ 20, P002, If[a > 20 ∧ a ≤ 21, P20, If[a > 21 ∧ a ≤ 22, P21, If[a > 22 ∧ a ≤ 23, P22, If[a > 23 ∧ a ≤ 24, P23, D]]]])
P004 = If(a ≤ 24, P003, If[a > 24 ∧ a ≤ 25, P24, If[a > 25 ∧ a ≤ 26, P25, If[a > 26 ∧ a ≤ 27, P26, If[a > 27 ∧ a ≤ 28, P27, If[a > 28 ∧ a ≤ 29, P28, If[a > 29 ∧ a ≤ 30, P29, If[a > 30 ∧ a ≤ 31, P30, If[a > 31 ∧ a ≤ 32, P31, If[a > 32 ∧ a ≤ 33, P32, D]]]]]]]]])
in1 = If(a > 32.5 ∧ a < 32.7, 1, 0)
in2 = If(a > 35.5 ∧ a < 35.7, 1, 0)
in = If(in1 ≟ 1 ∨ in2 ≟ 1, 1, 0)
P = If(a ≤ 33, P004, If[a > 33 ∧ a ≤ 34, P33, If[a > 34 ∧ a ≤ 35, P34, If[a > 35 ∧ a ≤ 36, P35]]])
l_1 = Segment(Z01, Z11)