Dibujar

Azulejo

Guía

Ocultar

Color manual

Rastro

Red

yA0 = 2.06 (slider from -50 to 2.58, step 0.1)
xA0 = -2.7600000000000002 (slider from -3.48 to 50, step 0.1)
FrisoA = (-3.3, -4.5)
FrisoC = Point(Segment[FrisoA + (0, 0.4), (x(FrisoA), 3)])
v = Vector(FrisoA, FrisoC)
paralela = Line((0.54, y(FrisoA)) + v / 2 + (0, 1.47), FrisoA + v / 2 + (1, 1.47))
A0: (xA0, yA0)
paralelaB = Ray(A0 + (1.22, 0), A0 + (100, 0))
B0 = Point(paralelaB)
u = Vector(A0, B0)
ejeH = Line(((-0.06), y(FrisoA)) + v / 2, (0, y(FrisoA)) + v / 2)
T = Point(ejeH)
mediana = Line(FrisoA + v / 2, FrisoA + v / 2 + (1, 0))
grupo = 7 (slider from 1 to 7, step 1)
A: T - u / 2 - v / 2
B: T + u / 2 - v / 2
rAB = Line(A, u)
C: T - u / 2 + v / 2
D: B + v
rCD = Line(C, D)
rAC = Line(A, v)
Z: Corner[pincel, 1] + (0.05, 0)
A'2: A + u / 2
A'1: A + v / 2
Zy = Intersect(Line[A, v], Line[Z, u])
Zx = Intersect(Line[A, u], Line[Z, v])
M: A + u / 2
w = Vector(A, D)
Zz = Intersect(Line[A, u], Line[Z, w])
B'1: B + v / 2
B'2: C + u / 2
Desplazamiento: C + u / 2
z = Vector(C, Desplazamiento)
espejoV = Line(A'2, B'2)
rBC = Line(B, C)
rA'B' = Line(A'1, B'1)
rAD = Line(A, D)
rA'M = Line(A'1, M)
rBD = Line(B, D)
listaAzules: {Distance[Z, B] / Distance[B, C], Distance[Z, B] / Distance[B, A'1], Distance[Z, rBD] / Distance[A, rBD], Distance[Z, B] / Distance[B, A], Distance[Z, B] / Distance[B, C], Distance[Z, M] / Distance[M, A'1], Distance[Z, M] / Distance[M, A'1]}
listaRojos: {Distance[Z, rAC] / Distance[B, rAC], Distance[Z, rAC] / Distance[B, rAC], Distance[Z, rAC] / Distance[B, rAC], Distance[Z, rAC] / Distance[B, rAC], Distance[Z - u / 2, rAC] / Distance[M, rAC], Distance[Z, rAC] / Distance[M, rAC], Distance[Z, rAC] / Distance[M, rAC]}
libre = true
testAB: (AffineRatio[A, B, Zx] ≥ 0) ∧ (AffineRatio[A, B, Zx] ≤ 1)
testAC: (AffineRatio[A, C, Zy] ≥ 0) ∧ (AffineRatio[A, C, Zy] ≤ 1)
testAA': (AffineRatio[A, A'1, Zy] ≥ 0) ∧ (AffineRatio[A, A'1, Zy] ≤ 1)
testBM: (AffineRatio[B, M, Zx] ≥ 0) ∧ (AffineRatio[B, M, Zx] ≤ 1)
azulejo = true
detección = true
oculta = false
listaTest: {testAB ∧ testAC, testAB ∧ testAA', testAB ∧ testAA', testAB ∧ testAA', testBM ∧ testAC, testAA' ∧ testBM, testAA' ∧ testBM}
test: Element[listaTest, grupo] ∧ libre
listaCeldas: {Polygon[A, B, D, C], Polygon[A, A'1, B'1, B], Polygon[A, A'1, B'1, B], Polygon[A, A'1, B'1, B], Polygon[B'2, A'2, B, D], Polygon[T, A'2, B, B'1], Polygon[T, A'2, B, B'1]}
Desplazamientou: Desplazamiento + u
flex = 0.05235987755982989 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
cMazul = 20 (slider from 0 to 100, step 1)
manual = false
cMrojo = 80 (slider from 0 to 100, step 1)
cMverde = 50 (slider from 0 to 100, step 1)
k: 4
rastro = false
ColorMuestra = (5.32, 4.58)
bordes: {Polygon[A + v - (30, (-0.025)), A + v + (50, 0.025), A + v + (50, 2), A + v - (30, (-2))], Polygon[A - (30, 0.025), A + (50, (-0.025)), A + (50, (-2)), A - (30, 2)]}
celdaP = Element(listaCeldas, grupo)
B'z: B'1 + z
A'z: A'1 + z
xGoma = 0.58 (slider from 0.08 to 0.58, step 0.01)
yGoma = 3.6 (slider from 3.6 to 4.1, step 0.01)
PuntoGoma: (xGoma, yGoma)
listaNombresGrupos: {"∞∞ (11)", "∞x (1g)", "22∞ (12)", "∞* (1m)", "*∞∞ (m1)", "2*∞ (mg)", "*22∞ (mm)"}
listaFormasGrupos: {"Huella", "Paso", "Vuelta", "Salto", "Ladino", "Vuelta ladina", "Vuelta a saltos"}
nombreGrupo: "Grupo " + grupo + " 
" + (Element[listaNombresGrupos, grupo]) + " 
" + (Element[listaFormasGrupos, grupo])
A00: A0 - (0.78, 1.47)
B00: B0 - (0.78, 1.47)
listaAzulejos: {{A, B, D, C, A}, {B'1, B, A, A'1, A'z, Desplazamiento, Desplazamientou, B'z}, {A, B, D, C, A}, {A, B, D, C, A}, {A, B, D, C, A}, {A, B, D, C, A}, {A, B, D, C, A}}
colorM: {Polygon[ColorMuestra, ColorMuestra + (1, 0), ColorMuestra + (1, 1), ColorMuestra + (0, 1)]}
azulejo1 = Sequence(Segment[Element[Element[listaAzulejos, grupo], s], Element[Element[listaAzulejos, grupo], s + 1]], s, 1, Length[Element[listaAzulejos, grupo]] - 1)
I = (-3.34, 5.44)
d = Circle(I, 0.6172839506172839)
J = Point(d)
β0: round(Angle[I + (0.5, 0), I, J])
ejemplo: Div[(β0 * 7 / °), 360] + 1
texto1: " " + cMrojo + " %
 " + cMverde + " %
 " + cMazul + " %"
listaMensajes: {"En el grupo ∞∞ cualquier posición del azulejo es válida", "En el grupo ∞x hay un eje de deslizamiento", "En el grupo 22∞ el desplazador debe ser un R2 (centro de rotación de orden 2)", "En el grupo ∞* hay un espejo horizontal", "En el grupo *∞∞ hay  espejos verticales", "En el grupo 2*∞ hay un espejo y un R2 descentrado ", "En el grupo *22∞ hay un espejo horizontal y espejos verticales "}
mensaje = Element(listaMensajes, grupo)
listaP = Sequence(Z + (s * u), s, (-k), k)
rectas01: {Sequence[Segment[A + (s * u), A + v + (s * u)], s, (-k), k], Sequence[Line[A + (s * v), A + u + (s * v)], s, 0, 1]}
espejosV = Sequence(Line[A'2 + (s * u / 2), B'2 + (s * u / 2)], s, (-2 * k), (2 * k))
FrisoC': FrisoC
listaVerdes: {Distance[Z, rAB] / Distance[C, rAB], Distance[Z, rAB] / Distance[A'1, rAB], Distance[Z, rAB] / Distance[D, rAB], Distance[Z, rAB] / Distance[(B + C) / 2, rAB], Distance[Z, rAB] / Distance[C, rAB], Distance[Z, rAB] / Distance[A'1, rAB], Distance[Z, rAB] / Distance[A'1, rAB]}
cAazul: (Element[listaAzules, grupo] * 0.9)
cArojo: (Element[listaRojos, grupo] * 0.9)
cAverde: (Element[listaVerdes, grupo] * 0.8)
ccAzul = If(manual, cMazul / 100, cAazul)
ccRojo = If(manual, cMrojo / 100, cArojo)
ccVerde = If(manual, cMverde / 100, cAverde)
A1 = 1
A2 = 2
A3: (2 * A2) - A1
A4: (2 * A3) - A2
A5: (2 * A4) - A3
A6: (2 * A5) - A4
A7: (2 * A6) - A5
A8: (2 * A7) - A6
A9: (2 * A8) - A7
A10: (2 * A9) - A8
A11: (2 * A10) - A9
A12: (2 * A11) - A10
A13: (2 * A12) - A11
A14: (2 * A13) - A12
A15: (2 * A14) - A13
A16: (2 * A15) - A14
A17: (2 * A16) - A15
A18: (2 * A17) - A16
A19: (2 * A18) - A17
A20: (2 * A19) - A18
A21: (2 * A20) - A19
A22: (2 * A21) - A20
A23: (2 * A22) - A21
A24: (2 * A23) - A22
A25: (2 * A24) - A23
B1 = Element(listaP, A1)
B2 = Element(listaP, A2)
B3 = Element(listaP, A3)
B4 = Element(listaP, A4)
B5 = Element(listaP, A5)
B6 = Element(listaP, A6)
B7 = Element(listaP, A7)
B8 = Element(listaP, A8)
B9 = Element(listaP, A9)
ZzR4 = Mirror(Z, ejeH)
ZzR5 = Mirror(Z, espejoV)
desliza = Segment(A'z, B'z)
visibleZR2: grupo ≟ 4 ∨ grupo ≟ 7
visibleZ2: grupo ≟ 2 ∨ grupo ≟ 4 ∨ grupo ≟ 7
visibleZR: grupo ≟ 3 ∨ grupo ≟ 4 ∨ grupo ≟ 5 ∨ grupo ≟ 7
Zw = Intersect(Line[A, w], Line[Z, Vector[B, (B + C) / 2]])
ZzR2: u / 2 + ZzR4
ZzR3 = Rotate(Z, 180°, T)
E: T + u / 4
ZzR6 = Rotate(Z, 180°, E)
listaP2 = Sequence(ZzR2 + (s * u), s, (-k), k)
listaP3 = Sequence(ZzR3 + (s * u), s, (-k), k)
listaP4 = Sequence(ZzR4 + (s * u), s, (-k), k)
listaP5 = Sequence(ZzR5 + (s * u), s, (-k), k)
listaP6 = Sequence(ZzR6 + (s * u), s, (-k), k)
C1 = Element(listaP2, A1)
D1 = Element(listaP3, A1)
E1 = Element(listaP4, A1)
F1 = Element(listaP5, A1)
G1 = Element(listaP6, A1)
C2 = Element(listaP2, A2)
D2 = Element(listaP3, A2)
E2 = Element(listaP4, A2)
F2 = Element(listaP5, A2)
G2 = Element(listaP6, A2)
C3 = Element(listaP2, A3)
D3 = Element(listaP3, A3)
E3 = Element(listaP4, A3)
F3 = Element(listaP5, A3)
G3 = Element(listaP6, A3)
C4 = Element(listaP2, A4)
D4 = Element(listaP3, A4)
E4 = Element(listaP4, A4)
F4 = Element(listaP5, A4)
G4 = Element(listaP6, A4)
C5 = Element(listaP2, A5)
D5 = Element(listaP3, A5)
E5 = Element(listaP4, A5)
F5 = Element(listaP5, A5)
G5 = Element(listaP6, A5)
C6 = Element(listaP2, A6)
D6 = Element(listaP3, A6)
E6 = Element(listaP4, A6)
F6 = Element(listaP5, A6)
G6 = Element(listaP6, A6)
C7 = Element(listaP2, A7)
D7 = Element(listaP3, A7)
E7 = Element(listaP4, A7)
F7 = Element(listaP5, A7)
G7 = Element(listaP6, A7)
C8 = Element(listaP2, A8)
D8 = Element(listaP3, A8)
E8 = Element(listaP4, A8)
F8 = Element(listaP5, A8)
G8 = Element(listaP6, A8)
C9 = Element(listaP2, A9)
D9 = Element(listaP3, A9)
E9 = Element(listaP4, A9)
F9 = Element(listaP5, A9)
G9 = Element(listaP6, A9)
E25 = Element(listaP4, A25)
red = true
xP = 7
yP = 0.9400000000000001 (slider from -30 to 2.82, step 0.01)
PPP: (xP, yP)
texto2: "% Rojo = " + cMrojo + "
% Verde = " + cMverde + "
% Azul = " + cMazul