Clear["Global`*"]; \[Theta]1[t] := (Sqrt[m2]*(c1*Cos[t*\[Omega]1 + \[Phi]1] - c2*Cos[t*\[Omega]2 + \[Phi]2]))/Sqrt[m1 + 2*m2]; \[Theta]2[t] := (g*len*Sqrt[m2]*(m1 + m2)*(c1*Cos[t*\[Omega]1 + \[Phi]1] + c2*Cos[t*\[Omega]2 + \[Phi]2]))/(Sqrt[m1 + 2*m2]*Sqrt[g^2*len^2*m2*(m1 + m2)]); \[Omega]1 := Sqrt[(g*len*(m1 + m2) - Sqrt[g^2*len^2*m2*(m1 + m2)])/(len^2*m1)]; \[Omega]2 := Sqrt[(Sqrt[g^2*len^2*m2*(m1 + m2)] + g*len*(m1 + m2))/(len^2*m1)]; values = {len -> 1, g -> 1, \[Phi]1 -> 0, \[Phi]2 -> 0}; line[c1_, c2_, m1_, m2_] = Line[{{0, 0}, {len*Sin[\[Theta]1[t]], (-len)*Cos[\[Theta]1[t]]}, {len*Sin[\[Theta]1[t]] + len*Sin[\[Theta]2[t]], -(len*Cos[\[Theta]1[t]] + len*Cos[\[Theta]2[t]])}}] //. values; point1[c1_, c2_, m1_, m2_] = Disk[{len*Sin[\[Theta]1[t]], (-len)*Cos[\[Theta]1[t]]}, 0.1] //. values; point2[c1_, c2_, m1_, m2_] = Disk[{len*Sin[\[Theta]1[t]] + len*Sin[\[Theta]2[t]], -(len*Cos[\[Theta]1[t]] + len*Cos[\[Theta]2[t]])}, 0.1] //. values; Manipulate[ListAnimate[Table[Graphics[{{Gray, Rectangle[{-1, 0}, {1, 0.1}]}, N[line[c1, c2, m1, m2]], N[point1[c1, c2, m1, m2]], N[point2[c1, c2, m1, m2]]}, PlotRange -> {{-2, 2}, {0.2, -2.5}}], {t, 0, 10*Pi, 2*(Pi/50.)}], AnimationRepetitions -> 1, AnimationRate -> 10, ControlPlacement -> Bottom], {c1, 0, 1}, {c2, 0, 1}, {m1, 1, 3}, {m2, 1, 3}, FrameMargins -> 0, SaveDefinitions -> True]