How do I make a giant clock made of many small clocks? I want to recreate this animation I found online, of a giant clock that displays the time using many smaller clocks. The minute and hour hands of the smaller clocks rearrange into symmetry and shows the time. This is the particular image I found:



(The clock showing the time.)

(The video: Giant clock made out of tiny clocks)

For sake of simplicity: I want the needles of those clocks moving and align to show a single digit.
Here is the simple scene that I made using animation nodes:



I made 2 arrows, and duplicated it 5*8 times:





Each arrow is sent to the node program, which determines the position in the space and the rotation:



First, I divided the index by 5 and took the remainder of the division to get the coordinates (x and y index) of the arrow:



Next, I just multiplied it to get the correct scale of the arrow's matrix (x and y coordinates): 



How to get the rotation? First, I wrote a map, which determines the rotation of each arrow. I made it using a list of "box symbols" ("┌","─","┐", etc..):

┌───┐
│┌──┘
││    
│└──┐
│┌─┐│
││ ││
│└─┘│
└───┘


Then I wrote the script, which converts a correct symbol into 2 angles:

out=[0,0]
if(letter=="┌"):
    out=[-90,180]
if(letter=="─"):
    out=[-90,90]
if(letter=="│"):
    out=[0,180]
if(letter=="┐"):
    out=[180,90]    
if(letter=="┘"):
    out=[0,90]      
if(letter=="└"):
    out=[0,-90]  

rot=out[arrow] 


So when I put the correct letter and arrow index (0 or 1 - first or second arrow) it outputs the correct angle:



This script block gets the letter from the text "map":



and finally I used the animate float node to make a transition between a random angle and that angle:



As you see, you need to know a little about Animation nodes and scripting. This is the file (NOTE: it will not work without Animation Nodes!):