Limpiaparabrisas

Los limpiaparabrisas de los autobuses deben barrer una superficie mucho mayor que la de los coches, es conveniente que la escobilla se mantenga siempre en posición vertical para que despida el agua de los cristales. Si activas el Rastro, se representa las zonas que barren las escobillas.
Esto se consigue con el paralelogramo articulado de la derecha, si OO’ es fijo y horizontal al suelo, PQ también lo será y articulamos a él la escobilla de forma que sea perpendicular al suelo.

Usa la app y responde:

Da un método para calcular la superficie barrida por un limpiaparabrisas de  coche y de autobús con una escobilla de 80 cm.

Animación

SI

NO

SI

NO

Rastro

SI

NO

SI

NO

Mueve B y B'

a1 = 5 (slider from -5 to 5, step 0.1)
α = 1.5323990832510215 rad (slider from j° to o°, step 0.1°)
A = (1.0846248195864552, 0.5207550491746815)
A1: A + (1, 0)
i = Line(A, A1)
A' = Point(i)
q_1 = Circle(A', a1)
C0 = Intersect(q_1, i, 2)
o = 120 (slider from 0 to 360, step 0.1)
a = 1.5 (slider from 1.5 to 2.2, step 0.1)
f = Circle(A, a)
B0, H = Intersect(f, i)
b = 1.5000000000000002 (slider from 1.2 to 1.8, step 0.01)
c_1 = 2.0625 (slider from 0 to 5, step 1.0E-4)
k = 0 (slider from 0 to 1, step 1)
v = 0 (slider from 0 to 1, step 0.1)
d1: (10 * v)
texto1e: "Velocidad animación: " + d1 + ""
k1 = 1 (slider from 0 to 1, step 1)
t = 0.287 (slider from 0 to 1, step 0.001)
nada = -3.6 (slider from -5 to 5, step 0.1)
e = 0.7 (slider from 0 to 5, step 0.1)
g = 3 (slider from 0 to 5, step 0.1)
h = 2.4 (slider from 0 to 5, step 0.1)
n = 0.2 (slider from 0 to 1, step 0.05)
c = 3.7 (slider from 0 to 5, step 0.1)
d = 1 (slider from 1 to 5, step 0.1)
texto3: "CD = " + c + ""
texto1b: "BC = " + b + ""
texto1a: "AB = " + a + ""
texto4: "DA = " + d + ""
B = Rotate(B0, α, A)
j = 58 (slider from 0 to 360, step 0.1)
l = Ray(B, A)
q = Circle(A, b)
B3 = Rotate(B0, o°, A)
r = Segment(A, B)
B4 = Rotate(B0, j°, A)
p = CircleArc(A, B3, B4)
B' = Rotate(C0, α, A')
C'_2 = Mirror(B', i)
D = Intersect(f, p, 1)
E = Intersect(f, p, 1)
F = Intersect(f, p)
B2 = Rotate(B0, j°, A)
s = CircleArc(A, B4, B3)
m = OrthogonalLine(B, r)
c_1 = Circle(B, e)
G = Intersect(c_1, m, 2)
f_1 = Segment(B, G)
g_1 = OrthogonalLine(G, m)
h_1 = Segment(B, G)
d_1 = Circle(G, g)
I = Intersect(d_1, g_1, 1)
e_1 = Circle(I, e)
j_1 = Segment(G, I)
n_1 = OrthogonalLine(I, j_1)
k_1 = Circle(I, e / 2)
J = Intersect(k_1, n_1, 1)
i_1 = OrthogonalLine(J, n_1)
p_1 = Circle(J, h)
K = Intersect(p_1, i_1, 1)
L = Intersect(p_1, i_1, 2)
l_1 = Segment(K, L)
m_1 = Segment(I, J)
M = Point(i)
w = 0.5 (slider from 0 to 5, step 0.1)
a2 = 0.5 (slider from -5 to 5, step 0.1)
C2 = Rotate(C0, j°, A')
C3 = Rotate(C0, o°, A')
N1: A' + (a2, 0)
C1: B' + (a2, 0)
polígono1, n_2, n1, c1, c_2 = Polygon(A', N1, C1, B')
C1' = Mirror(C1, B')
r_1 = OrthogonalLine(C1', i)
s_1 = Segment(B', C1')
t_1 = Circle(C1', h)
O = Intersect(t_1, r_1, 2)
P = Intersect(t_1, r_1, 1)
a_1 = Segment(O, P)
d_2 = CircleArc(A', C2, C3)
l_2: l_1
a_2: a_1
C = Point(i)
N = Point(i)
b_1 = Segment(C, N)