İçeriğe geç

How to find distance in JavaScript ?

How to Find Distance in JavaScript?

JavaScript’te mesafe hesaplamak, bir bakıma iki nokta arasındaki farkı ölçmek gibi. Hani günlük hayatta, bir yerden başka bir yere giderken “Aramızda ne kadar mesafe var?” diye sorarız ya, işte JavaScript’te de benzer bir hesaplama yapabiliriz. Ama tabii ki burada sadece metrik bir mesafe değil, iki nokta arasındaki doğrusal uzaklık veya coğrafi mesafe gibi hesaplamalar da yapabiliriz. Bu yazıda, “How to find distance in JavaScript?” sorusunu, akademik bir perspektifle ama herkesin anlayacağı şekilde anlatmaya çalışacağım.

Mesafe Hesaplamak: Temel Kavramlar

İlk olarak, mesafe nedir? Bir nokta ile başka bir nokta arasındaki doğrusal uzaklık, yani mesafe, iki nokta arasındaki çizilen doğruyu ölçmek anlamına gelir. Hatta bazen, bir yerden başka bir yere giderken, “mesafe” kavramını bir yolculuk gibi de düşünebiliriz. Örneğin, Eskişehir’den İstanbul’a gitmek istiyorsam, bu mesafeyi bir harita üzerinde ölçebilirim.

JavaScript’te mesafe hesaplamak için, genellikle iki farklı türde hesaplama yaparız:

1. İki nokta arasındaki düz mesafe (örneğin, iki şehir arasındaki yol uzunluğu)

2. Coğrafi mesafe (örneğin, GPS koordinatları ile mesafe hesaplama)

İki Nokta Arasındaki Düz Mesafe

İki nokta arasındaki düz mesafeyi hesaplamak için, basit bir formüle ihtiyaç duyarız. Eğer iki noktanın x ve y koordinatları verilmişse, bu mesafeyi Pisagor Teoremi ile hesaplayabiliriz. Bu teorem, dik üçgenlerde hipotenüsün uzunluğunu bulmamızı sağlar.

Pisagor Teoremi

Diyelim ki, noktalarımızın koordinatları şöyle:

Nokta A: (x₁, y₁)

Nokta B: (x₂, y₂)

Pisagor Teoremi’ne göre, bu iki nokta arasındaki mesafeyi hesaplamak için şu formülü kullanırız:

[

\text{Mesafe} = \sqrt{(x_2 – x_1)^2 + (y_2 – y_1)^2}

]

Bu formülde, her iki nokta arasındaki yatay ve dikey farkları (x ve y eksenlerinde) alıp, bunları kareye alıyoruz ve ardından topluyoruz. Son olarak bu toplamın karekökünü alıyoruz.

Bunu JavaScript’te yazacak olursak:

javascript

function calculateDistance(x1, y1, x2, y2) {

const deltaX = x2 – x1;

const deltaY = y2 – y1;

return Math.sqrt(deltaX deltaX + deltaY deltaY);

}

const distance = calculateDistance(3, 4, 7, 1);

console.log(distance); // Çıktı: 5

Yukarıdaki örnekte, iki nokta arasındaki mesafeyi Pisagor Teoremi kullanarak hesapladık. Yani, 3,4 ile 7,1 noktaları arasındaki mesafe 5 birim.

Coğrafi Mesafe Hesaplamak

Ama bazen işler biraz daha karmaşık olabiliyor. Örneğin, iki şehir arasındaki mesafeyi hesaplamak istiyorsak, düz bir çizgi değil, dünya üzerindeki eğimli yüzeydeki mesafeyi hesaplamamız gerekir. İşte burada devreye Haversine Formülü giriyor.

Haversine Formülü

Haversine, dünya üzerindeki iki nokta arasındaki mesafeyi hesaplamak için kullanılan bir matematiksel formüldür. Bu formül, yer kürenin küresel şekli göz önüne alınarak, iki koordinat arasındaki mesafeyi hesaplar.

Koordinatlar, genellikle enlem (latitude) ve boylam (longitude) ile belirtilir. Bu formül, iki nokta arasındaki en kısa mesafeyi hesaplamamıza yardımcı olur.

Haversine formülünü JavaScript ile şu şekilde uygulayabiliriz:

javascript

function toRadians(degrees) {

return degrees Math.PI / 180;

}

function haversine(lat1, lon1, lat2, lon2) {

const R = 6371; // Dünya’nın yarıçapı kilometre cinsinden

const dLat = toRadians(lat2 – lat1);

const dLon = toRadians(lon2 – lon1);

const a = Math.sin(dLat / 2) Math.sin(dLat / 2) +

Math.cos(toRadians(lat1)) Math.cos(toRadians(lat2))

Math.sin(dLon / 2) Math.sin(dLon / 2);

const c = 2 Math.atan2(Math.sqrt(a), Math.sqrt(1 – a));

return R c; // Mesafe, kilometre cinsindendir

}

const distance = haversine(39.9334, 32.8597, 41.0082, 28.9784); // Ankara ve İstanbul koordinatları

console.log(distance); // Çıktı: 351.512 km

Burada, haversine fonksiyonu, iki GPS koordinatı arasındaki mesafeyi kilometre cinsinden hesaplıyor. Bu örnekte, Ankara ile İstanbul arasındaki mesafeyi hesapladık ve yaklaşık 351 kilometre olduğunu gördük.

Günlük Hayatta Mesafe Hesaplamak

Diyelim ki, Eskişehir’den Konya’ya gitmek istiyorsun. Eğer yolculuk yaparken bir harita uygulaması kullanıyorsan, bu tür mesafe hesaplamaları otomatik olarak yapılır. Ama JavaScript ile, kendi web sayfanızda veya uygulamanızda mesafe hesaplamaları yapmanız gerektiğinde, bu teknikleri kullanabilirsiniz.

İşte buradaki temel fark, gerçek hayatta mesafeyi genellikle yolculuk yaparken hissedersin, ama yazılım dünyasında bu mesafeyi matematiksel hesaplamalarla ölçersin. Eğer bir harita uygulaması yapıyorsan, GPS koordinatları üzerinden mesafeleri hesaplayabilirsin. Ama daha basit bir uygulama için, düz mesafe hesaplamak işinizi görür.

Sonuç Olarak

JavaScript’te mesafe hesaplamak aslında oldukça basit. İster düz mesafeyi hesaplamak için Pisagor Teoremi’ni kullan, ister coğrafi mesafeyi bulmak için Haversine formülünü uygula, her iki durumda da matematiksel temellere dayanıyorsun. Günlük hayatta mesafeyi hissettiğimiz gibi, yazılım dünyasında da bu mesafeyi matematiksel modellerle hesaplamak mümkün. İşin içine biraz matematik ve biraz da JavaScript girdiğinde, uzaklık kavramı tamamen farklı bir boyuta taşınıyor.

Artık “How to find distance in JavaScript?” sorusuna daha sağlam bir cevabınız var. Umarım bir sonraki projende bu teknikleri kullanarak, mesafeyi rahatlıkla hesaplayabilirsin!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

şişli escort
Sitemap
betxper yeni girişilbetgir.netbetexper