Dat eerste gedeelte snapte ik al wel, al die bijbehorende plaatjes opzoeken lijkt me nogal een klus. Maar dat zal ook wel met een algoritme gebeuren...
Je verdeelt het canvas in blokjes ("grid"). Je maakt een lookup-tabel waarin voor ieder blokje een of meer foto's worden geselecteerd. Als het er meer zijn, kies je er eentje "random".
Of je doet het zoals trabant suggereerde: je schuift gewoon de foto totdat de positie in de foto met de vinger samenvalt met het blokje waar je op geklikt hebt.