o semplicemente spiegarmi come funziona dal punto di vista matematico e poi provo a implementare