l'ho fatto, ma c'ho un bordello di rogne con gli offset che sto fondendo. Comunque la funzione è semplicmente

(diff può andare da 1 a massimo)
zoom = math.log(diff)/math.log(massimo)*100

ho aggiornato il file online