Mosaico

a1x = 0.9836408985283907 (slider from 0 to 1.95, step 0.01)
a1y = 0.9792256467316122 (slider from 0 to 1.3, step 0.01)
a2x = 0.9659016358239825 (slider from 0 to 1.95, step 0.01)
a2y = 0.6548850954740617 (slider from 0 to 1.3, step 0.01)
a3x = 0.9659016358239825 (slider from 0 to 1.95, step 0.01)
a3y = 0.3305445442165109 (slider from 0 to 1.3, step 0.01)
b1x = 1.4714706228996155 (slider from 0 to 1.95, step 0.01)
b1y = 0.47365665965597925 (slider from 0 to 1.3, step 0.01)
b2x = 0.9400000000000004 (slider from 0 to 1.95, step 0.01)
b2y = 1.52 (slider from 0 to 2.6, step 0.01)
b3x = 0.9570320044717784 (slider from 0 to 1.95, step 0.01)
b3y = 1.1693237139018986 (slider from 0 to 2.6, step 0.01)
b4x = 1.4448617288430032 (slider from 0 to 1.95, step 0.01)
b4y = 0.8272438999399399 (slider from 0 to 1.3, step 0.01)
O1 = (5, -0.8)
O2 = (5, 0.5)
O3 = (5, 1.8)
AA: O1 - (1.95, 0.0)
BB: O1 + (1.95, 0.0)
CC: O1 + (1.95, 3.9)
DD: O1 + (-(1.95), 3.9)
u = Vector(AA, CC)
v = Vector(DD, BB)
A1: (a1x + x(O1), a1y + y(O1))
A2: (a2x + x(O2), a2y + y(O2))
A3: (a3x + x(O3), a3y + y(O3))
A0 = Point(Segment[BB, (x(BB), y(A1))])
A4 = Point(Segment[CC, (x(CC), y(A3))])
A01: (b1x + x(O1), b1y + y(O1))
A12: (b2x + x(O1), b2y + y(O1))
A23: (b3x + x(O2), b3y + y(O2))
A34: (b4x + x(O3), b4y + y(O3))
B0 = Rotate(A0, 90.0*°, BB)
C0 = Rotate(B0, 90.0*°, AA)
D0 = Rotate(C0, 90.0*°, DD)
B4 = Rotate(A4, 90.0*°, BB)
C4 = Rotate(B4, 90.0*°, AA)
D4 = Rotate(C4, 90.0*°, DD)
segA0 = Segment(BB, A0)
segA4 = Segment(A4, CC)
segC0 = Segment(DD, C0)
segC4 = Segment(AA, C4)
segB0 = Segment(BB, B0)
segD0 = Segment(DD, D0)
segD4 = Segment(CC, D4)
curvaA01 = CurveCartesian((1.0 - s)^(2.0) * x(A0) + 2.0 * (1.0 - s) * s * x(A01) + s^(2.0) * x(A1), (1.0 - s)^(2.0) * y(A0) + 2.0 * (1.0 - s) * s * y(A01) + s^(2.0) * y(A1), s, 0.0, 1.0)
curvaA12 = CurveCartesian((1.0 - s)^(2.0) * x(A1) + 2.0 * (1.0 - s) * s * x(A12) + s^(2.0) * x(A2), (1.0 - s)^(2.0) * y(A1) + 2.0 * (1.0 - s) * s * y(A12) + s^(2.0) * y(A2), s, 0.0, 1.0)
curvaA23 = CurveCartesian((1.0 - s)^(2.0) * x(A2) + 2.0 * (1.0 - s) * s * x(A23) + s^(2.0) * x(A3), (1.0 - s)^(2.0) * y(A2) + 2.0 * (1.0 - s) * s * y(A23) + s^(2.0) * y(A3), s, 0.0, 1.0)
curvaA34 = CurveCartesian((1.0 - s)^(2.0) * x(A3) + 2.0 * (1.0 - s) * s * x(A34) + s^(2.0) * x(A4), (1.0 - s)^(2.0) * y(A3) + 2.0 * (1.0 - s) * s * y(A34) + s^(2.0) * y(A4), s, 0.0, 1.0)
B1 = Rotate(A1, 90.0*°, BB)
B2 = Rotate(A2, 90.0*°, BB)
B3 = Rotate(A3, 90.0*°, BB)
B01 = Rotate(A01, 90.0*°, BB)
B12 = Rotate(A12, 90.0*°, BB)
B23 = Rotate(A23, 90.0*°, BB)
B34 = Rotate(A34, 90.0*°, BB)
curvaB01 = CurveCartesian((1.0 - s)^(2.0) * x(B0) + 2.0 * (1.0 - s) * s * x(B01) + s^(2.0) * x(B1), (1.0 - s)^(2.0) * y(B0) + 2.0 * (1.0 - s) * s * y(B01) + s^(2.0) * y(B1), s, 0.0, 1.0)
curvaB12 = CurveCartesian((1.0 - s)^(2.0) * x(B1) + 2.0 * (1.0 - s) * s * x(B12) + s^(2.0) * x(B2), (1.0 - s)^(2.0) * y(B1) + 2.0 * (1.0 - s) * s * y(B12) + s^(2.0) * y(B2), s, 0.0, 1.0)
curvaB23 = CurveCartesian((1.0 - s)^(2.0) * x(B2) + 2.0 * (1.0 - s) * s * x(B23) + s^(2.0) * x(B3), (1.0 - s)^(2.0) * y(B2) + 2.0 * (1.0 - s) * s * y(B23) + s^(2.0) * y(B3), s, 0.0, 1.0)
curvaB34 = CurveCartesian((1.0 - s)^(2.0) * x(B3) + 2.0 * (1.0 - s) * s * x(B34) + s^(2.0) * x(B4), (1.0 - s)^(2.0) * y(B3) + 2.0 * (1.0 - s) * s * y(B34) + s^(2.0) * y(B4), s, 0.0, 1.0)
segB4 = Segment(AA, B4)
C1 = Rotate(B1, 90.0*°, AA)
C2 = Rotate(B2, 90.0*°, AA)
C3 = Rotate(B3, 90.0*°, AA)
C01 = Rotate(B01, 90.0*°, AA)
C12 = Rotate(B12, 90.0*°, AA)
C23 = Rotate(B23, 90.0*°, AA)
C34 = Rotate(B34, 90.0*°, AA)
curvaC01 = CurveCartesian((1.0 - s)^(2.0) * x(C0) + 2.0 * (1.0 - s) * s * x(C01) + s^(2.0) * x(C1), (1.0 - s)^(2.0) * y(C0) + 2.0 * (1.0 - s) * s * y(C01) + s^(2.0) * y(C1), s, 0.0, 1.0)
curvaC12 = CurveCartesian((1.0 - s)^(2.0) * x(C1) + 2.0 * (1.0 - s) * s * x(C12) + s^(2.0) * x(C2), (1.0 - s)^(2.0) * y(C1) + 2.0 * (1.0 - s) * s * y(C12) + s^(2.0) * y(C2), s, 0.0, 1.0)
curvaC23 = CurveCartesian((1.0 - s)^(2.0) * x(C2) + 2.0 * (1.0 - s) * s * x(C23) + s^(2.0) * x(C3), (1.0 - s)^(2.0) * y(C2) + 2.0 * (1.0 - s) * s * y(C23) + s^(2.0) * y(C3), s, 0.0, 1.0)
curvaC34 = CurveCartesian((1.0 - s)^(2.0) * x(C3) + 2.0 * (1.0 - s) * s * x(C34) + s^(2.0) * x(C4), (1.0 - s)^(2.0) * y(C3) + 2.0 * (1.0 - s) * s * y(C34) + s^(2.0) * y(C4), s, 0.0, 1.0)
D1 = Rotate(C1, 90.0*°, DD)
D2 = Rotate(C2, 90.0*°, DD)
D3 = Rotate(C3, 90.0*°, DD)
D01 = Rotate(C01, 90.0*°, DD)
D12 = Rotate(C12, 90.0*°, DD)
D23 = Rotate(C23, 90.0*°, DD)
D34 = Rotate(C34, 90.0*°, DD)
curvaD01 = CurveCartesian((1.0 - s)^(2.0) * x(D0) + 2.0 * (1.0 - s) * s * x(D01) + s^(2.0) * x(D1), (1.0 - s)^(2.0) * y(D0) + 2.0 * (1.0 - s) * s * y(D01) + s^(2.0) * y(D1), s, 0.0, 1.0)
curvaD12 = CurveCartesian((1.0 - s)^(2.0) * x(D1) + 2.0 * (1.0 - s) * s * x(D12) + s^(2.0) * x(D2), (1.0 - s)^(2.0) * y(D1) + 2.0 * (1.0 - s) * s * y(D12) + s^(2.0) * y(D2), s, 0.0, 1.0)
curvaD23 = CurveCartesian((1.0 - s)^(2.0) * x(D2) + 2.0 * (1.0 - s) * s * x(D23) + s^(2.0) * x(D3), (1.0 - s)^(2.0) * y(D2) + 2.0 * (1.0 - s) * s * y(D23) + s^(2.0) * y(D3), s, 0.0, 1.0)
curvaD34 = CurveCartesian((1.0 - s)^(2.0) * x(D3) + 2.0 * (1.0 - s) * s * x(D34) + s^(2.0) * x(D4), (1.0 - s)^(2.0) * y(D3) + 2.0 * (1.0 - s) * s * y(D34) + s^(2.0) * y(D4), s, 0.0, 1.0)
lista1a: {Segment[Translate[DD, v], Translate[D0, v]], Translate[curvaD01, v], Translate[curvaD12, v], Translate[curvaD23, v], Translate[curvaD34, v], Segment[Translate[CC, v], Translate[D4, v]]}
lista1g: {Segment[Translate[DD, v - u], Translate[D0, v - u]], Translate[curvaD01, v - u], Translate[curvaD12, v - u], Translate[curvaD23, v - u], Translate[curvaD34, v - u], Segment[Translate[CC, v - u], Translate[D4, v - u]]}
lista1d: {Segment[Translate[DD, -(u)], Translate[D0, -(u)]], Translate[curvaD01, -(u)], Translate[curvaD12, -(u)], Translate[curvaD23, -(u)], Translate[curvaD34, -(u)], Segment[Translate[CC, -(u)], Translate[D4, -(u)]]}
lista2e: {Segment[Translate[DD, u + v], Translate[C0, u + v]], Translate[curvaC01, u + v], Translate[curvaC12, u + v], Translate[curvaC23, u + v], Translate[curvaC34, u + v], Segment[Translate[AA, u + v], Translate[C4, u + v]]}
lista0: {Polygon[O1 + (1.95, 0.0), O1 - (1.95, 0.0), O1 + (-(1.95), 3.9), O1 + (1.95, 3.9)]}
lista2a: {Segment[Translate[DD, v], Translate[C0, v]], Translate[curvaC01, v], Translate[curvaC12, v], Translate[curvaC23, v], Translate[curvaC34, v], Segment[Translate[AA, v], Translate[C4, v]]}
lista2b: {Segment[Translate[DD, -(v)], Translate[C0, -(v)]], Translate[curvaC01, -(v)], Translate[curvaC12, -(v)], Translate[curvaC23, -(v)], Translate[curvaC34, -(v)], Segment[Translate[AA, -(v)], Translate[C4, -(v)]]}
lista2c: {Segment[Translate[DD, u], Translate[C0, u]], Translate[curvaC01, u], Translate[curvaC12, u], Translate[curvaC23, u], Translate[curvaC34, u], Segment[Translate[AA, u], Translate[C4, u]]}
lista2d: {Segment[Translate[DD, -(u)], Translate[C0, -(u)]], Translate[curvaC01, -(u)], Translate[curvaC12, -(u)], Translate[curvaC23, -(u)], Translate[curvaC34, -(u)], Segment[Translate[AA, -(u)], Translate[C4, -(u)]]}
lista3h: {Segment[Translate[BB, -(u) - v], Translate[A0, -(u) - v]], Translate[curvaA01, -(u) - v], Translate[curvaA12, -(u) - v], Translate[curvaA23, -(u) - v], Translate[curvaA34, -(u) - v], Segment[Translate[CC, -(u) - v], Translate[A4, -(u) - v]]}
lista3a: {Segment[Translate[BB, v], Translate[A0, v]], Translate[curvaA01, v], Translate[curvaA12, v], Translate[curvaA23, v], Translate[curvaA34, v], Segment[Translate[CC, v], Translate[A4, v]]}
lista3b: {Segment[Translate[BB, -(v)], Translate[A0, -(v)]], Translate[curvaA01, -(v)], Translate[curvaA12, -(v)], Translate[curvaA23, -(v)], Translate[curvaA34, -(v)], Segment[Translate[CC, -(v)], Translate[A4, -(v)]]}
lista3c: {Segment[Translate[BB, u], Translate[A0, u]], Translate[curvaA01, u], Translate[curvaA12, u], Translate[curvaA23, u], Translate[curvaA34, u], Segment[Translate[CC, u], Translate[A4, u]]}
lista3d: {Segment[Translate[BB, -(u)], Translate[A0, -(u)]], Translate[curvaA01, -(u)], Translate[curvaA12, -(u)], Translate[curvaA23, -(u)], Translate[curvaA34, -(u)], Segment[Translate[CC, -(u)], Translate[A4, -(u)]]}
lista4a: {Segment[Translate[BB, v], Translate[B0, v]], Translate[curvaB01, v], Translate[curvaB12, v], Translate[curvaB23, v], Translate[curvaB34, v], Segment[Translate[AA, v], Translate[B4, v]]}
lista4b: {Segment[Translate[BB, -(v)], Translate[B0, -(v)]], Translate[curvaB01, -(v)], Translate[curvaB12, -(v)], Translate[curvaB23, -(v)], Translate[curvaB34, -(v)], Segment[Translate[AA, -(v)], Translate[B4, -(v)]]}
lista4c: {Segment[Translate[BB, u], Translate[B0, u]], Translate[curvaB01, u], Translate[curvaB12, u], Translate[curvaB23, u], Translate[curvaB34, u], Segment[Translate[AA, u], Translate[B4, u]]}
lista4d: {Segment[Translate[BB, -(u)], Translate[B0, -(u)]], Translate[curvaB01, -(u)], Translate[curvaB12, -(u)], Translate[curvaB23, -(u)], Translate[curvaB34, -(u)], Segment[Translate[AA, -(u)], Translate[B4, -(u)]]}
lista4f: {Segment[Translate[BB, u - v], Translate[B0, u - v]], Translate[curvaB01, u - v], Translate[curvaB12, u - v], Translate[curvaB23, u - v], Translate[curvaB34, u - v], Segment[Translate[AA, u - v], Translate[B4, u - v]]}
mosaico = false
a = Segment(A3, A34)
b = Segment(A34, A4)
c = Segment(A23, A3)
d = Segment(A23, A2)
e = Segment(A2, A12)
f = Segment(A12, A1)
g = Segment(A1, A01)
h = Segment(A01, A0)
testB01: OrthogonalVector[Vector[B0, B1]] * Vector[B0, B01] < 0.0
testB12: OrthogonalVector[Vector[B1, B2]] * Vector[B1, B12] < 0.0
testB23: OrthogonalVector[Vector[B2, B3]] * Vector[B2, B23] < 0.0
testB34: OrthogonalVector[Vector[B3, B4]] * Vector[B3, B34] < 0.0
testD01: OrthogonalVector[Vector[D0, D1]] * Vector[D0, D01] < 0.0
testD12: OrthogonalVector[Vector[D1, D2]] * Vector[D1, D12] < 0.0
testD23: OrthogonalVector[Vector[D2, D3]] * Vector[D2, D23] < 0.0
testD34: OrthogonalVector[Vector[D3, D4]] * Vector[D3, D34] < 0.0
polígono1, b0, b1, b2, b3, b4 = Polygon(B0, B1, B2, B3, B4)
polígono2, d0, d1, d2, d3, d4 = Polygon(D0, D1, D2, D3, D4)
listaD: {Segment[Translate[DD, 0.0 * v], Translate[D0, 0.0 * v]], Translate[curvaD01, 0.0 * v], Translate[curvaD12, 0.0 * v], Translate[curvaD23, 0.0 * v], Translate[curvaD34, 0.0 * v], Segment[Translate[CC, 0.0 * v], Translate[D4, 0.0 * v]]}
listaB: {Segment[Translate[BB, 0.0 * u], Translate[B0, 0.0 * u]], Translate[curvaB01, 0.0 * u], Translate[curvaB12, 0.0 * u], Translate[curvaB23, 0.0 * u], Translate[curvaB34, 0.0 * u], Segment[Translate[AA, 0.0 * u], Translate[B4, 0.0 * u]]}