２ アニメーション

精米水車

shaft = {Polygon[{{0, 0.3  Cos[0], 0.3  Sin[0]}, {28, 0.3  Cos[0], 
                0.3  Sin[0]}, {28, 0.3  Cos[Pi/6], 0.3  Sin[Pi/6]}, {0, 
                0.3  Cos[Pi/6], 0.3  Sin[Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[Pi/6], 0.3  Sin[Pi/6]}, {28, 0.3  Cos[Pi/6], 
                0.3  Sin[Pi/6]}, {28, 0.3  Cos[2  Pi/6], 
                0.3  Sin[2  Pi/6]}, {0, 0.3  Cos[2  Pi/6], 
                0.3  Sin[2  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[2  Pi/6], 0.3  Sin[2  Pi/6]}, {28, 
                0.3  Cos[2  Pi/6], 0.3  Sin[2  Pi/6]}, {28, 
                0.3  Cos[3  Pi/6], 0.3  Sin[3  Pi/6]}, {0, 0.3  Cos[3  Pi/6], 
                0.3  Sin[3  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[3  Pi/6], 0.3  Sin[3  Pi/6]}, {28, 
                0.3  Cos[3  Pi/6], 0.3  Sin[3  Pi/6]}, {28, 
                0.3  Cos[4  Pi/6], 0.3  Sin[4  Pi/6]}, {0, 0.3  Cos[4  Pi/6], 
                0.3  Sin[4  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[4  Pi/6], 0.3  Sin[4  Pi/6]}, {28, 
                0.3  Cos[4  Pi/6], 0.3  Sin[4  Pi/6]}, {28, 
                0.3  Cos[5  Pi/6], 0.3  Sin[5  Pi/6]}, {0, 0.3  Cos[5  Pi/6], 
                0.3  Sin[5  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[5  Pi/6], 0.3  Sin[5  Pi/6]}, {28, 
                0.3  Cos[5  Pi/6], 0.3  Sin[5  Pi/6]}, {28, 
                0.3  Cos[6  Pi/6], 0.3  Sin[6  Pi/6]}, {0, 0.3  Cos[6  Pi/6], 
                0.3  Sin[6  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[6  Pi/6], 0.3  Sin[6  Pi/6]}, {28, 
                0.3  Cos[6  Pi/6], 0.3  Sin[6  Pi/6]}, {28, 
                0.3  Cos[7  Pi/6], 0.3  Sin[7  Pi/6]}, {0, 0.3  Cos[7  Pi/6], 
                0.3  Sin[7  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[7  Pi/6], 0.3  Sin[7  Pi/6]}, {28, 
                0.3  Cos[7  Pi/6], 0.3  Sin[7  Pi/6]}, {28, 
                0.3  Cos[8  Pi/6], 0.3  Sin[8  Pi/6]}, {0, 0.3  Cos[8  Pi/6], 
                0.3  Sin[8  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[8  Pi/6], 0.3  Sin[8  Pi/6]}, {28, 
                0.3  Cos[8  Pi/6], 0.3  Sin[8  Pi/6]}, {28, 
                0.3  Cos[9  Pi/6], 0.3  Sin[9  Pi/6]}, {0, 0.3  Cos[9  Pi/6], 
                0.3  Sin[9  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[9  Pi/6], 0.3  Sin[9  Pi/6]}, {28, 
                0.3  Cos[9  Pi/6], 0.3  Sin[9  Pi/6]}, {28, 
                0.3  Cos[10  Pi/6], 0.3  Sin[10  Pi/6]}, {0, 
                0.3  Cos[10  Pi/6], 0.3  Sin[10  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[10  Pi/6], 0.3  Sin[10  Pi/6]}, {28, 
                0.3  Cos[10  Pi/6], 0.3  Sin[10  Pi/6]}, {28, 
                0.3  Cos[11  Pi/6], 0.3  Sin[11  Pi/6]}, {0, 
                0.3  Cos[11  Pi/6], 0.3  Sin[11  Pi/6]}}], 
          Polygon[{{0, 0.3  Cos[11  Pi/6], 0.3  Sin[11  Pi/6]}, {28, 
                0.3  Cos[11  Pi/6], 0.3  Sin[11  Pi/6]}, {28, 
                0.3  Cos[12  Pi/6], 0.3  Sin[12  Pi/6]}, {0, 
                0.3  Cos[12  Pi/6], 
                0.3  Sin[12  Pi/6]}}]};

    
wheel[
          t_] := {Polygon[{{24, 6  Cos[t], 6  Sin[t]}, {27, 6  Cos[t], 
                6  Sin[t]}, {27, 6  Cos[t + Pi/6], 6  Sin[t + Pi/6]}, {24, 
                6  Cos[t + Pi/6], 6  Sin[t + Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + Pi/6], 6  Sin[t + Pi/6]}, {27, 
                6  Cos[t + Pi/6], 6  Sin[t + Pi/6]}, {27, 
                6  Cos[t + 2  Pi/6], 6  Sin[t + 2  Pi/6]}, {24, 
                6  Cos[t + 2  Pi/6], 6  Sin[t + 2  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 2  Pi/6], 6  Sin[t + 2  Pi/6]}, {27, 
                6  Cos[t + 2  Pi/6], 6  Sin[t + 2  Pi/6]}, {27, 
                6  Cos[t + 3  Pi/6], 6  Sin[t + 3  Pi/6]}, {24, 
                6  Cos[t + 3  Pi/6], 6  Sin[t + 3  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 3  Pi/6], 6  Sin[t + 3  Pi/6]}, {27, 
                6  Cos[t + 3  Pi/6], 6  Sin[t + 3  Pi/6]}, {27, 
                6  Cos[t + 4  Pi/6], 6  Sin[t + 4  Pi/6]}, {24, 
                6  Cos[t + 4  Pi/6], 6  Sin[t + 4  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 4  Pi/6], 6  Sin[t + 4  Pi/6]}, {27, 
                6  Cos[t + 4  Pi/6], 6  Sin[t + 4  Pi/6]}, {27, 
                6  Cos[t + 5  Pi/6], 6  Sin[t + 5  Pi/6]}, {24, 
                6  Cos[t + 5  Pi/6], 6  Sin[t + 5  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 5  Pi/6], 6  Sin[t + 5  Pi/6]}, {27, 
                6  Cos[t + 5  Pi/6], 6  Sin[t + 5  Pi/6]}, {27, 
                6  Cos[t + 6  Pi/6], 6  Sin[t + 6  Pi/6]}, {24, 
                6  Cos[t + 6  Pi/6], 6  Sin[t + 6  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 6  Pi/6], 6  Sin[t + 6  Pi/6]}, {27, 
                6  Cos[t + 6  Pi/6], 6  Sin[t + 6  Pi/6]}, {27, 
                6  Cos[t + 7  Pi/6], 6  Sin[t + 7  Pi/6]}, {24, 
                6  Cos[t + 7  Pi/6], 6  Sin[t + 7  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 7  Pi/6], 6  Sin[t + 7  Pi/6]}, {27, 
                6  Cos[t + 7  Pi/6], 6  Sin[t + 7  Pi/6]}, {27, 
                6  Cos[t + 8  Pi/6], 6  Sin[t + 8  Pi/6]}, {24, 
                6  Cos[t + 8  Pi/6], 6  Sin[t + 8  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 8  Pi/6], 6  Sin[t + 8  Pi/6]}, {27, 
                6  Cos[t + 8  Pi/6], 6  Sin[t + 8  Pi/6]}, {27, 
                6  Cos[t + 9  Pi/6], 6  Sin[t + 9  Pi/6]}, {24, 
                6  Cos[t + 9  Pi/6], 6  Sin[t + 9  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 9  Pi/6], 6  Sin[t + 9  Pi/6]}, {27, 
                6  Cos[t + 9  Pi/6], 6  Sin[t + 9  Pi/6]}, {27, 
                6  Cos[t + 10  Pi/6], 6  Sin[t + 10  Pi/6]}, {24, 
                6  Cos[t + 10  Pi/6], 6  Sin[t + 10  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 10  Pi/6], 6  Sin[t + 10  Pi/6]}, {27, 
                6  Cos[t + 10  Pi/6], 6  Sin[t + 10  Pi/6]}, {27, 
                6  Cos[t + 11  Pi/6], 6  Sin[t + 11  Pi/6]}, {24, 
                6  Cos[t + 11  Pi/6], 6  Sin[t + 11  Pi/6]}}], 
          Polygon[{{24, 6  Cos[t + 11  Pi/6], 6  Sin[t + 11  Pi/6]}, {27, 
                6  Cos[t + 11  Pi/6], 6  Sin[t + 11  Pi/6]}, {27, 
                6  Cos[t + 12  Pi/6], 6  Sin[t + 12  Pi/6]}, {24, 
                6  Cos[t + 12  Pi/6], 
                6  Sin[t + 12  Pi/6]}}], 
Polygon[{{24, 
                8  Cos[t], 8  Sin[t]}, {27, 8  Cos[t], 8  Sin[t]}, {27, 
                8  Cos[t + Pi], 8  Sin[t + Pi]}, {24, 8  Cos[t + Pi], 
                8  Sin[t + Pi]}}], 
          Polygon[{{24, 8  Cos[t + Pi/6], 8  Sin[t + Pi/6]}, {27, 
                8  Cos[t + Pi/6], 8  Sin[t + Pi/6]}, {27, 
                8  Cos[t + 7  Pi/6], 8  Sin[t + 7  Pi/6]}, {24, 
                8  Cos[t + 7  Pi/6], 8  Sin[t + 7  Pi/6]}}], 
          Polygon[{{24, 8  Cos[t + 2  Pi/6], 8  Sin[t + 2  Pi/6]}, {27, 
                8  Cos[t + 2  Pi/6], 8  Sin[t + 2  Pi/6]}, {27, 
                8  Cos[t + 8  Pi/6], 8  Sin[t + 8  Pi/6]}, {24, 
                8  Cos[t + 8  Pi/6], 8  Sin[t + 8  Pi/6]}}], 
          Polygon[{{24, 8  Cos[t + 3  Pi/6], 8  Sin[t + 3  Pi/6]}, {27, 
                8  Cos[t + 3  Pi/6], 8  Sin[t + 3  Pi/6]}, {27, 
                8  Cos[t + 9  Pi/6], 8  Sin[t + 9  Pi/6]}, {24, 
                8  Cos[t + 9  Pi/6], 8  Sin[t + 9  Pi/6]}}], 
          Polygon[{{24, 8  Cos[t + 4  Pi/6], 8  Sin[t + 4  Pi/6]}, {27, 
                8  Cos[t + 4  Pi/6], 8  Sin[t + 4  Pi/6]}, {27, 
                8  Cos[t + 10  Pi/6], 8  Sin[t + 10  Pi/6]}, {24, 
                8  Cos[t + 10  Pi/6], 8  Sin[t + 10  Pi/6]}}], 
          Polygon[{{24, 8  Cos[t + 5  Pi/6], 8  Sin[t + 5  Pi/6]}, {27, 
                8  Cos[t + 5  Pi/6], 8  Sin[t + 5  Pi/6]}, {27, 
                8  Cos[t + 11  Pi/6], 8  Sin[t + 11  Pi/6]}, {24, 
                8  Cos[t + 11  Pi/6], 
                8  Sin[t + 
                      11  Pi/6]}}]};

board[
          t_] := {Polygon[{{4, 2  Cos[t], 2  Sin[t]}, {6, 2  Cos[t], 
                2  Sin[t]}, {6, 2  Cos[t + Pi], 2  Sin[t + Pi]}, {4, 
                2  Cos[t + Pi], 2  Sin[t + Pi]}}], 
          Polygon[{{4, 2  Cos[t + Pi/2], 2  Sin[t + Pi/2]}, {6, 
                2  Cos[t + Pi/2], 2  Sin[t + Pi/2]}, {6, 2  Cos[t + 3  Pi/2], 
                2  Sin[t + 3  Pi/2]}, {4, 2  Cos[t + 3  Pi/2], 
                2  Sin[t + 3  Pi/2]}}], 
          Polygon[{{13, 2  Cos[t + Pi/4], 2  Sin[t + Pi/4]}, {15, 
                2  Cos[t + Pi/4], 2  Sin[t + Pi/4]}, {15, 
                2  Cos[t + 5  Pi/4], 2  Sin[t + 5  Pi/4]}, {13, 
                2  Cos[t + 5  Pi/4], 2  Sin[t + 5  Pi/4]}}], 
          Polygon[{{13, 2  Cos[t + 3  Pi/4], 2  Sin[t + 3  Pi/4]}, {15, 
                2  Cos[t + 3  Pi/4], 2  Sin[t + 3  Pi/4]}, {15, 
                2  Cos[t + 7  Pi/4], 2  Sin[t + 7  Pi/4]}, {13, 
                2  Cos[t + 7  Pi/4], 
                2  Sin[t + 
                      7  Pi/4]}}]};

mallet1[t_] := 
        Which[(2  Pi/12 ≤ t ≤ 
                4  Pi/12) || (8  Pi/12 ≤ t ≤ 
                10  Pi/12) || (14  Pi/12 ≤ t ≤ 
                16  Pi/12) || (20  Pi/12 ≤ t ≤ 
                22  Pi/12), {Polygon[{{4, 3, -9}, {6, 3, -9}, {6, 
                  3, 4}, {4, 3, 4}}], 
            Polygon[{{4, 3, -9}, {5, 3 + Sqrt[3], -9}, {5, 
                  3 + Sqrt[3], 4}, {4, 3, 4}}], 
            Polygon[{{6, 3, -9}, {5, 3 + Sqrt[3], -9}, {5, 
                  3 + Sqrt[3], 4}, {6, 3, 4}}], 
            Polygon[{{4, 3 - Sqrt[3], -1}, {6, 3 - Sqrt[3], -1}, {6, 
                  3, -1}, {4, 3, -1}}]}, (0 ≤ t < 
                2  Pi/12) || (22  Pi/12 < t < 
                24  Pi/12), {Polygon[{{4, 3, -8 + 2  Sin[t]}, {6, 
                  3, -8 + 2  Sin[t]}, {6, 3, 5 + 2  Sin[t]}, {4, 3, 
                  5 + 2  Sin[t]}}], 
            Polygon[{{4, 3, -8 + 2  Sin[t]}, {5, 
                  3 + Sqrt[3], -8 + 2  Sin[t]}, {5, 3 + Sqrt[3], 
                  5 + 2  Sin[t]}, {4, 3, 5 + 2  Sin[t]}}], 
            Polygon[{{6, 3, -8 + 2  Sin[t]}, {5, 
                  3 + Sqrt[3], -8 + 2  Sin[t]}, {5, 3 + Sqrt[3], 
                  5 + 2  Sin[t]}, {6, 3, 5 + 2  Sin[t]}}], 
            Polygon[{{4, 3 - Sqrt[3], 2  Sin[t]}, {6, 3 - Sqrt[3], 
                  2  Sin[t]}, {6, 3, 2  Sin[t]}, {4, 3, 2  Sin[t]}}]}, (4 
                 Pi/12 < t < 
              8  Pi/12), {Polygon[{{4, 
                  3, -8 + 2  Sin[t - 2  Pi/4]}, {6, 
                  3, -8 + 2  Sin[t - 2  Pi/4]}, {6, 3, 
                  5 + 2  Sin[t - 2  Pi/4]}, {4, 3, 
                  5 + 2  Sin[t - 2  Pi/4]}}], 
            Polygon[{{4, 3, -8 + 2  Sin[t - 2  Pi/4]}, {5, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 2  Pi/4]}, {5, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 2  Pi/4]}, {4, 3, 
                  5 + 2  Sin[t - 2  Pi/4]}}], 
            Polygon[{{6, 3, -8 + 2  Sin[t - 2  Pi/4]}, {5, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 2  Pi/4]}, {5, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 2  Pi/4]}, {6, 3, 
                  5 + 2  Sin[t - 2  Pi/4]}}], 
            Polygon[{{4, 3 - Sqrt[3], 2  Sin[t - 2  Pi/4]}, {6, 3 - Sqrt[3], 
                  2  Sin[t - 2  Pi/4]}, {6, 3, 2  Sin[t - 2  Pi/4]}, {4, 3, 
                  2  Sin[t - 2  Pi/4]}}]}, (10  Pi/12 < t < 
              14  Pi/12), {Polygon[{{4, 
                  3, -8 + 2  Sin[t - 4  Pi/4]}, {6, 
                  3, -8 + 2  Sin[t - 4  Pi/4]}, {6, 3, 
                  5 + 2  Sin[t - 4  Pi/4]}, {4, 3, 
                  5 + 2  Sin[t - 4  Pi/4]}}], 
            Polygon[{{4, 3, -8 + 2  Sin[t - 4  Pi/4]}, {5, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 4  Pi/4]}, {5, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 4  Pi/4]}, {4, 3, 
                  5 + 2  Sin[t - 4  Pi/4]}}], 
            Polygon[{{6, 3, -8 + 2  Sin[t - 4  Pi/4]}, {5, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 4  Pi/4]}, {5, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 4  Pi/4]}, {6, 3, 
                  5 + 2  Sin[t - 4  Pi/4]}}], 
            Polygon[{{4, 3 - Sqrt[3], 2  Sin[t - 4  Pi/4]}, {6, 3 - Sqrt[3], 
                  2  Sin[t - 4  Pi/4]}, {6, 3, 2  Sin[t - 4  Pi/4]}, {4, 3, 
                  2  Sin[t - 4  Pi/4]}}]}, (16  Pi/12 < t < 
              20  Pi/12), {Polygon[{{4, 
                  3, -8 + 2  Sin[t - 6  Pi/4]}, {6, 
                  3, -8 + 2  Sin[t - 6  Pi/4]}, {6, 3, 
                  5 + 2  Sin[t - 6  Pi/4]}, {4, 3, 
                  5 + 2  Sin[t - 6  Pi/4]}}], 
            Polygon[{{4, 3, -8 + 2  Sin[t - 6  Pi/4]}, {5, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 6  Pi/4]}, {5, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 6  Pi/4]}, {4, 3, 
                  5 + 2  Sin[t - 6  Pi/4]}}], 
            Polygon[{{6, 3, -8 + 2  Sin[t - 6  Pi/4]}, {5, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 6  Pi/4]}, {5, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 6  Pi/4]}, {6, 3, 
                  5 + 2  Sin[t - 6  Pi/4]}}], 
            Polygon[{{4, 3 - Sqrt[3], 2  Sin[t - 6  Pi/4]}, {6, 3 - Sqrt[3], 
                  2  Sin[t - 6  Pi/4]}, {6, 3, 2  Sin[t - 6  Pi/4]}, {4, 3, 
                  2  Sin[t - 
                        6  Pi/4]}}]}];

mallet2[t_] := 
        Which[(0 ≤ t ≤ 
                Pi/12) || (5  Pi/12 ≤ t ≤ 
                7  Pi/12) || (11  Pi/12 ≤ t ≤ 
                13  Pi/12) || (17  Pi/12 ≤ t ≤ 
                19  Pi/12) || (23  Pi/12 ≤ t < 
                24  Pi/12), {Polygon[{{13, 3, -9}, {15, 
                  3, -9}, {15, 3, 4}, {13, 3, 4}}], 
            Polygon[{{13, 3, -9}, {14, 3 + Sqrt[3], -9}, {14, 
                  3 + Sqrt[3], 4}, {13, 3, 4}}], 
            Polygon[{{15, 3, -9}, {14, 3 + Sqrt[3], -9}, {14, 
                  3 + Sqrt[3], 4}, {15, 3, 4}}], 
            Polygon[{{13, 3 - Sqrt[3], -1}, {15, 
                  3 - Sqrt[3], -1}, {15, 3, -1}, {13, 
                  3, -1}}]}, (Pi/12 < t < 
              5  Pi/12), {Polygon[{{13, 3, -8 + 2  Sin[t - Pi/4]}, {15, 
                  3, -8 + 2  Sin[t - Pi/4]}, {15, 3, 
                  5 + 2  Sin[t - Pi/4]}, {13, 3, 5 + 2  Sin[t - Pi/4]}}], 
            Polygon[{{13, 3, -8 + 2  Sin[t - Pi/4]}, {14, 
                  3 + Sqrt[3], -8 + 2  Sin[t - Pi/4]}, {14, 3 + Sqrt[3], 
                  5 + 2  Sin[t - Pi/4]}, {13, 3, 5 + 2  Sin[t - Pi/4]}}], 
            Polygon[{{15, 3, -8 + 2  Sin[t - Pi/4]}, {14, 
                  3 + Sqrt[3], -8 + 2  Sin[t - Pi/4]}, {14, 3 + Sqrt[3], 
                  5 + 2  Sin[t - Pi/4]}, {15, 3, 5 + 2  Sin[t - Pi/4]}}], 
            Polygon[{{13, 3 - Sqrt[3], 2  Sin[t - Pi/4]}, {15, 3 - Sqrt[3], 
                  2  Sin[t - Pi/4]}, {15, 3, 2  Sin[t - Pi/4]}, {13, 3, 
                  2  Sin[t - Pi/4]}}]}, (7  Pi/12 < t < 
              11  Pi/12), {Polygon[{{13, 
                  3, -8 + 2  Sin[t - 3  Pi/4]}, {15, 
                  3, -8 + 2  Sin[t - 3  Pi/4]}, {15, 3, 
                  5 + 2  Sin[t - 3  Pi/4]}, {13, 3, 
                  5 + 2  Sin[t - 3  Pi/4]}}], 
            Polygon[{{13, 3, -8 + 2  Sin[t - 3  Pi/4]}, {14, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 3  Pi/4]}, {14, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 3  Pi/4]}, {13, 3, 
                  5 + 2  Sin[t - 3  Pi/4]}}], 
            Polygon[{{15, 3, -8 + 2  Sin[t - 3  Pi/4]}, {14, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 3  Pi/4]}, {14, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 3  Pi/4]}, {15, 3, 
                  5 + 2  Sin[t - 3  Pi/4]}}], 
            Polygon[{{13, 3 - Sqrt[3], 2  Sin[t - 3  Pi/4]}, {15, 
                  3 - Sqrt[3], 2  Sin[t - 3  Pi/4]}, {15, 3, 
                  2  Sin[t - 3  Pi/4]}, {13, 3, 
                  2  Sin[t - 3  Pi/4]}}]}, (13  Pi/12 < t < 
              17  Pi/12), {Polygon[{{13, 
                  3, -8 + 2  Sin[t - 5  Pi/4]}, {15, 
                  3, -8 + 2  Sin[t - 5  Pi/4]}, {15, 3, 
                  5 + 2  Sin[t - 5  Pi/4]}, {13, 3, 
                  5 + 2  Sin[t - 5  Pi/4]}}], 
            Polygon[{{13, 3, -8 + 2  Sin[t - 5  Pi/4]}, {14, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 5  Pi/4]}, {14, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 5  Pi/4]}, {13, 3, 
                  5 + 2  Sin[t - 5  Pi/4]}}], 
            Polygon[{{15, 3, -8 + 2  Sin[t - 5  Pi/4]}, {14, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 5  Pi/4]}, {14, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 5  Pi/4]}, {15, 3, 
                  5 + 2  Sin[t - 5  Pi/4]}}], 
            Polygon[{{13, 3 - Sqrt[3], 2  Sin[t - 5  Pi/4]}, {15, 
                  3 - Sqrt[3], 2  Sin[t - 5  Pi/4]}, {15, 3, 
                  2  Sin[t - 5  Pi/4]}, {13, 3, 
                  2  Sin[t - 5  Pi/4]}}]}, (19  Pi/12 < t < 
              23  Pi/12), {Polygon[{{13, 
                  3, -8 + 2  Sin[t - 7  Pi/4]}, {15, 
                  3, -8 + 2  Sin[t - 7  Pi/4]}, {15, 3, 
                  5 + 2  Sin[t - 7  Pi/4]}, {13, 3, 
                  5 + 2  Sin[t - 7  Pi/4]}}], 
            Polygon[{{13, 3, -8 + 2  Sin[t - 7  Pi/4]}, {14, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 7  Pi/4]}, {14, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 7  Pi/4]}, {13, 3, 
                  5 + 2  Sin[t - 7  Pi/4]}}], 
            Polygon[{{15, 3, -8 + 2  Sin[t - 7  Pi/4]}, {14, 
                  3 + Sqrt[3], -8 + 2  Sin[t - 7  Pi/4]}, {14, 
                  3 + Sqrt[3], 5 + 2  Sin[t - 7  Pi/4]}, {15, 3, 
                  5 + 2  Sin[t - 7  Pi/4]}}], 
            Polygon[{{13, 3 - Sqrt[3], 2  Sin[t - 7  Pi/4]}, {15, 
                  3 - Sqrt[3], 2  Sin[t - 7  Pi/4]}, {15, 3, 
                  2  Sin[t - 7  Pi/4]}, {13, 3, 
                  2  Sin[t - 
                        7  Pi/4]}}]}];

Do[Show[
        Graphics3D[{shaft, wheel[t], board[t], mallet1[t], 
            mallet2[t]}, {BoxRatios -> {30, 20, 20}, 
            PlotRange -> {{-1, 29}, {-10, 10}, {-10, 10}}, 
            ViewPoint -> {5, -5, 4}}]], {t, 0, 47  Pi/24, 
        Pi/24}]