Triángulo Imposible

El triángulo imposible  es un objeto copuesto por tres prismas de base cuadrada unidos de tal forma que visto desde un determinado punto, da la sensación de ser una estructura rígida y conectada fue creado en 1934 por el artista sueco Oscar Reutersvärd y redescubierto después por Roger Penrose de forma independiente.
El triángulo imposible o tribar interviene en varias de las obras de Escher, especialmente en Cascasda donde utiliza la composición de tres de estos triángulos para dar la sensación de que el agua se aleja ascendiendo para después caer y volver al lugar del comienzo.

En esta aplicación se ha diseñado la composición de tres tribar en 3D con dos animaciones que se pueden activar juntas o cada una independiente de la otra. En la primera se pone de manifiesto la imposibilidad de la construcción, mientras que en la segunda lo que intentamos es confundir aún más a nuestro cerebro haciendo que observe cómo una pelota puede recorrer los recintos diseñados en un movimiento de ascenso y descenso continuo. Se han utilizado las herramientas de color de GeoGebra para diseñar las paredes de la estructura simulando una material de cristal coloreado que permite ver su interior e introducir elementos
 En Ver las rotaciones de un tribar se pueden activar tres rotaciones axiales independientes respecto de ejes paralelos a los ejes de coordenadas 
Con Composiciones de tres tribar introducimos una pelota en el interior de la estructura, que previamente se ha realizado con paredes que simulan al cristal coloreado, la pelota parece mantenerse en la horizontal cuando se desplaza hacia los lados, pero cae cuando se desplaza perpendicularmente a la base del rectángulo de la pantalla

Ver combinación

de tres triángulos

Si

Si

No

No

Ver rotaciones
  de un tribar

Si

No

Si

No

Composición
de tres tribar

P: (3, 3, 0.5)
Q1: (0.5, 0.5, 0.5)
Q2: (5.5, 0.5, 0.5)
Q3: (5.5, 5.5, 0.5)
Q41: (10.5, 0.5, 0.5)
Q4: (10.5, 5.5, 0.5)
a = 0 (slider from 0 to 17, step 0.001)
a07 = Max(0, Min[1, a - 7])
P07: Q4 + (a07 * (Q2 - Q4))
a01 = Max(0, Min[1, a - 1])
P01: Q1 + (a01 * (Q2 - Q1))
a02 = Max(0, Min[1, a - 2])
P02: Q2 + (a02 * (Q3 - Q2))
a03 = Max(0, Min[1, a - 3])
P03: Q3 + (a03 * (Q1 - Q3))
a04 = Max(0, Min[1, a - 4])
P04: Q1 + (a04 * (Q2 - Q1))
a05 = Max(0, Min[1, a - 5])
P05: Q2 + (a05 * (Q41 - Q2))
a06 = Max(0, Min[1, a - 6])
P06: Q41 + (a06 * (Q4 - Q41))
a08 = Max(0, Min[1, a - 8])
P08: Q2 + (a08 * (Q41 - Q2))
a09 = Max(0, Min[1, a - 9])
P09: Q41 + (a09 * (Q4 - Q41))
A1 = Intersect(yAxis, xAxis)
A2 = Point(xAxis)
A4 = Point(yAxis)
A3: (1, 1, 0)
polígono1, f, g, h, i, A, B = Polygon(A1, A2, 4)
a01_1, C, D, E, F, c08, c10, c11, c09, c12, aristaA1C, aristaA2D, aristaAE, aristaBF, aristaCD, aristaDE, aristaEF, aristaCF = Prism(polígono1, 4.890676787541559)
B1: (1, 0, 1)
B2: (1, 1, 1)
c01, a22, a3_1, b2, b1 = Polygon(A2, A3, B2, B1)
a02_1, G, H1, H2, J, c03, c04, c05, c06, c07, arista1, arista2, arista3, arista4, arista5, arista6, arista7, arista8 = Prism(c01, 5)
H3: H2 - (1, 0, 0)
H4: H1 - (1, 0, 0)
H = Point(arista8)
c02, h1, h4, h3, h2 = Polygon(H1, H4, H3, H2)
a03_1, I, K, L, M, c14, c16, c15, c13, c17, aristaH1I, aristaH4K, aristaH3L, aristaH2M, aristaIK, aristaKL, aristaLM, aristaIM = Prism(c02, 4.916347429053269)
D1: D - (0, 0, 1)
PP = 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, P01]]]]]]]])
t1, d, c_1, d1 = Polygon(C, D1, D)
α = 0 rad (slider from 0 to 6.283185307179586)
j1 = Line(P, zAxis)
p1 = Rotate(a01_1, α, j1)
p2 = Rotate(a02_1, α, j1)
p3 = Rotate(a03_1, α, j1)
β = 0 rad (slider from 0 to 6.283185307179586)
γ = 0 rad (slider from 0 to 6.283185307179586)
j2 = Line(P, xAxis)
j3 = Line(P, yAxis)
q1 = Rotate(a01_1, β, j2)
q2 = Rotate(a02_1, β, j2)
q3 = Rotate(a03_1, β, j2)
r1 = Rotate(a01_1, γ, j3)
r2 = Rotate(a02_1, γ, j3)
r3 = Rotate(a03_1, γ, j3)
ss = Segment(H1, H2)
u1 = Vector((0, 0, 0), (5, 0, 0))
aa1 = Translate(a01_1, u1)
aa2 = Translate(a02_1, u1)
aa3 = Translate(a03_1, u1)
u2 = Vector((0, 0, 0), (5, 5, 0))
ab1 = Translate(a01_1, u2)
ab2 = Translate(a02_1, u2)
ab3 = Translate(a03_1, u2)
d01 = Translate(c01, u1)
d02 = Translate(c02, u1)
d03 = Translate(c03, u1)
d04 = Translate(c04, u1)
d05 = Translate(c05, u1)
d06 = Translate(c06, u1)
d07 = Translate(c07, u1)
d08 = Translate(c08, u1)
d09 = Translate(c09, u1)
d10 = Translate(c10, u1)
d11 = Translate(c11, u1)
d12 = Translate(c12, u1)
d13 = Translate(c13, u1)
d14 = Translate(c14, u1)
d15 = Translate(c15, u1)
d16 = Translate(c16, u1)
d17 = Translate(c17, u1)
t2 = Translate(t1, u1)
e01 = Translate(c01, u2)
e02 = Translate(c02, u2)
e03 = Translate(c03, u2)
e04 = Translate(c04, u2)
e05 = Translate(c05, u2)
e06 = Translate(c06, u2)
e07 = Translate(c07, u2)
e08 = Translate(c08, u2)
e09 = Translate(c09, u2)
e10 = Translate(c10, u2)
e11 = Translate(c11, u2)
e12 = Translate(c12, u2)
e13 = Translate(c13, u2)
e14 = Translate(c14, u2)
e15 = Translate(c15, u2)
e16 = Translate(c16, u2)
e17 = Translate(c17, u2)
t3 = Translate(t1, u2)
v = true
Q5: (10.5, 10.5, 0.5)
R1 = NaN
a10 = Max(0, Min[1, a - 10])
a11 = Max(0, Min[1, a - 11])
a12 = Max(0, Min[1, a - 12])
P10: Q4 + (a10 * (Q5 - Q4))
P11: Q5 + (a11 * (Q3 - Q5))
a13 = Max(0, Min[1, a - 13])
a14 = Max(0, Min[1, a - 14])
a15 = Max(0, Min[1, a - 15])
P12: Q3 + (a12 * (Q4 - Q3))
P14: Q5 + (a14 * (Q3 - Q5))
P15: Q3 + (a15 * (Q1 - Q3))
P13: Q4 + (a13 * (Q5 - Q4))
PQ = If(a ≤ 10, PP, If[a > 10 ∧ a ≤ 11, P10, 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, Q1]]]]]])
n = 0 (slider from 0 to 1, step 1)
m = 0 (slider from 0 to 1, step 1)