La lunghezza del grafico di una funzione F continua in un intervallo [a,b] può essere calcolata approssimandola con la lunghezza di una spezzata i cui vertici stanno sul grafico della funzione e le cui ascisse sono ottenute dividendo l'intervallo [a,b] in N segmenti uguali, e facendo aumentare via via il numero N.  Vediamo come fare ciò con uno programma in JavaScript nel caso raffigurato a fianco (in cui è considerato il caso N=4), ottenendo per N = 2, 4, 8, ...:
    8.94427190999916,
    13.026466151931759,
    13.291156405311183,
    ...
 fino a stabilizzarsi su   13.501661653554374.
    

a=-2; b=2
document.write("la lunghezza della curva tra t=a e t=b<br>")
function x(t) {return t}; function y(t) {return t*t*t-2*t}
n = 2; e=(b-a)/n; L=0
for(i=1;i<=n; i=i+1) {t1=a+(i-1)*e; t2=a+i*e
  L = L+ Math.sqrt(Math.pow(x(t1)-x(t2),2)+Math.pow(y(t1)-y(t2),2))}
document.write("n = "+n+" L = "+L+"<br>")

n = n*2; e=(b-a)/n; L=0
for(i=1;i<=n; i=i+1) {t1=a+(i-1)*e; t2=a+i*e
  L = L+ Math.sqrt(Math.pow(x(t1)-x(t2),2)+Math.pow(y(t1)-y(t2),2))}
document.write("n = "+n+" L = "+L+"<br>")

n = n*2; e=(b-a)/n; L=0
for(i=1;i<=n; i=i+1) {t1=a+(i-1)*e; t2=a+i*e
  L = L+ Math.sqrt(Math.pow(x(t1)-x(t2),2)+Math.pow(y(t1)-y(t2),2))}
document.write("n = "+n+" L = "+L+"<br>")

n = n*2; e=(b-a)/n; L=0
for(i=1;i<=n; i=i+1) {t1=a+(i-1)*e; t2=a+i*e
  L = L+ Math.sqrt(Math.pow(x(t1)-x(t2),2)+Math.pow(y(t1)-y(t2),2))}
document.write("n = "+n+" L = "+L+"<br>")

  la lunghezza della curva tra t=a e t=b
  n = 2 L = 8.94427190999916
  n = 4 L = 13.026466151931759
  n = 8 L = 13.291156405311183

Un algortimo più comodo, esemplificato partendo da un "n" maggiore:

a=-2; b=2
document.write("la lunghezza della curva tra t="+a+" e t="+b+"<br>")

function x(t) {return t}
function y(t) {return t*t*t-2*t}
n = 1e5; rip=5
for(k=1; k<=rip; k=k+1) {  n=n*2; e=(b-a)/n; L=0
for(i=1;i<=n; i=i+1) {t1=a+(i-1)*e; t2=a+i*e
  L = L+ Math.sqrt(Math.pow(x(t1)-x(t2),2)+Math.pow(y(t1)-y(t2),2))}
document.write("n = "+n+", L = "+L+"<br>")  }

  la lunghezza della curva tra t=-2 e t=2
  n = 200000, L = 13.501661653242772
  n = 400000, L = 13.501661653477255
  n = 800000, L = 13.50166165353527
  n = 1600000, L = 13.50166165355005
  n = 3200000, L = 13.501661653554594

Lo stesso procedimento si può usare per calcolare la lunghezza di altre curve che non siano il grafico di una funzione.  Queste curve vengono discusse nella successiva voce "rette tangenti e curve".  Vediamo solo, come esempio, come può essere calcolata la lunghezza del cerchio di raggio 1 (ovvero la sua "circonferenza").
Il cerchio può essere descritto come l'insieme dei punti (cos(t), sin(t)) al variare di t tra 0 e 2·π.

     

Modifico il programma precedente prendendo come [a,b] l'intervallo [0,2π] e modificando x(t) e y(t):

a=0; b=2*Math.PI
document.write("la lunghezza della curva da t="+a+" a t="+b+"<br>")

function x(t) {return Math.cos(t)}
function y(t) {return Math.sin(t)}
n = 1e6; rip=3
for(k=1; k<=rip; k=k+1) {  n=n*2; e=(b-a)/n; L=0
for(i=1;i<=n; i=i+1) {t1=a+(i-1)*e; t2=a+i*e
  L = L+ Math.sqrt(Math.pow(x(t1)-x(t2),2)+Math.pow(y(t1)-y(t2),2))}
document.write("n = "+n+", L = "+L+"<br>")  }

  la lunghezza della curva da t=0 a t=6.283185307179586
  n = 2000000, L = 6.283185307179171
  n = 4000000, L = 6.283185307179497
  n = 8000000, L = 6.283185307179542

Abbiamo la conferma che la circonferenza è 2π.
 

La curva è stata tracciata con questo script.