$A$

$C$

$B$

$D$

$%v$

$%v$

i: (1, 0)
j: (0, 1)
L = 10.1 (slider from -5 to 20)
A: (0, 0)
scale: L / 20
C: (L / scale, 0)
beam, f, g, h, k = Polygon(A - (.2 * i) + j / 2, A - (.2 * i) - j / 2, C - j / 2, C + j / 2)
ab = 0.6 (slider from 0 to 1)
B: ((ab * L / scale), 0)
r = 1 (slider from -5 to 5)
pulley = Circle(B, r / scale)
theta = 1.2217304763960306 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
u: (1; theta)
B': B + (r / scale * u)
v = UnitOrthogonalVector(u)
D = Intersect(yAxis, Line[B', v])
E: B + (r / scale * i)
E': E - (3 * j)
rope1 = Segment(B', D)
rope3 = Segment(E, E')
mass, mass1, mass4, mass3, mass2 = Polygon(E' + i, E' + i - j, E' - i - j, E' - i)
rope2 = CircleArc(B, E, B')
pulley1 = Circle(B, r / scale)
pulley2 = Circle(B, r / scale - .2)
θ = Angle(A, D, B')
wall = Line(A, yAxis)
roller_radius: .75
roller = Circle(C, roller_radius)
alpha = 0.6283185307179586 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
u': (1; alpha)
v' = UnitOrthogonalVector(u')
roller2 = Circle(C, roller_radius)
C': C - (v' * roller_radius)
incline = Segment(C' + (1 * u'), C' - (1 * u'))
horizontal = Segment(C' - u', C' - u' + ((2 * i) * cos(alpha)))
Slope, slope1, slope3, slope2 = Polygon(C' + (1 * u'), C' - (1 * u'), C' - u' + ((2 * i) * cos(alpha)))
α = Angle(C' + (1 * u'), C' - (1 * u'), C' - u' + ((2 * i) * cos(alpha)))
BL = (-1.9641287125387812, -5.201046250661652)
TR: (22, y(D) + .2)