Mevcut cevaplar, son noktaların keyfi olduğunu (verilenlerden ziyade) dikkate almamaktadır. Bu nedenle, eğrinin düzlüğünü ölçerken, bitiş noktalarını kullanmak anlamsızdır (örneğin, beklenen uzunluğu, açıyı, konumu hesaplamak için). Basit bir örnek, her iki ucu da çentikli olan düz bir çizgi olacaktır. Eğriden uzaklığı ve bitiş noktaları arasındaki düz çizgiyi kullanarak ölçersek, bu çizilen düz çizgi bitiş noktaları arasındaki düz çizgiden ayrıldığı için oldukça büyük olacaktır.
Eğrinin ne kadar düz olduğunu nasıl söyleriz? Eğrinin yeterince pürüzsüz olduğunu varsayarak, eğrinin teğetinin ne kadar değiştiğini bilmek istiyoruz. Bir çizgi için, bu sıfır olacaktır (teğet sabittir).
T zamanındaki pozisyonun (x (t), y (t)) olmasına izin verirsek, o zaman teğet (Dx (t), Dy (t)) 'dir, burada Dx (t), t zamanındaki x'in türevidir. (bu site TeX desteği eksik görünüyor). Eğri yay uzunluğu ile parametrelenmemişse, || (Dx (t), Dy (t)) || ile bölünerek normalleşiriz. Dolayısıyla, t zamanında eğriye teğetin bir birim vektörüne (veya açısına) sahibiz. Yani, açı bir (t) = (Dx (t), Dy (t)) / || (Dx (t), Dy (t)) ||
Daha sonra eğri boyunca entegre edilen || Da (t) || ^ 2 ile ilgileniyoruz.
Eğri yerine kesin veri noktalarına sahip olduğumuz göz önüne alındığında, türevleri yaklaşık olarak belirlemek için sonlu farklar kullanmalıyız. Böylece, Da (t) olur (a(t+h)-a(t))/h
. Ve, bir (t) olur ((x(t+h)-x(t))/h,(y(t+h)-y(t))/h)/||((x(t+h)-x(t))/h,(y(t+h)-y(t))/h)||
. Daha sonra h||Da(t)||^2
tüm veri noktaları için toplayarak S'yi alırız ve muhtemelen eğrinin uzunluğu ile normalleşiriz. Büyük olasılıkla kullanıyoruz h=1
, ancak bu gerçekten sadece rastgele bir ölçek faktörü.
Tekrarlamak için, S bir satır için sıfır olacak ve bir satırdan saptıkça daha büyük olacaktır. İstenilen formata dönüştürmek için kullanın 1/(1+S)
. Ölçeğin keyfi olduğu göz önüne alındığında, belirli eğrilerin ne kadar düz olduğunu ayarlamak için S'yi bazı pozitif sayılarla çarpmak (veya başka bir şekilde dönüştürmek, örneğin S yerine bS ^ c kullanın) mümkündür.