Ben 500 tane genelinde bir toroidal düzlemde iki koordinat arasındaki mesafeyi hesaplayarak içeren bir oyun için bir araç yazıyorum. Bu geçerli koordinatlar [0,0] [499.499] yoluyla, ve sağ yanındaki birbirlerine de [0,0] ve [499.499] vardır.
Şu anda, benim uygulamada, ben onlar önceden yapılandırılmış olan kullanıcının kendi [X, Y] konuma, ilgili bir [X, Y] konumu ile şehir arasındaki mesafe karşılaştırarak duyuyorum.
Bunu yapmak için, ben tür çalıştığı, bu algoritma bulundu:
Math.sqrt ( dx * dx + dy * dy );
Mesafeye göre bir sayfalık liste sıralama yapabilmek için yararlı bir şey olduğu için, ben bir MySQL sorgusu bu algoritma uygulanan ve benim deyim aşağıdaki kısmını kullanarak benim uygulama için kullanılabilir yaptık:
SQRT( POW( ( ".strval($sourceX)." - cityX ) , 2 ) + POW( ( ".strval($sourceY)." - cityY ) , 2 ) ) AS distance
Bu birçok hesaplamalar için çalışıyor, ancak dikkate [0,0] ve [499.499] birbirlerine pisi-köşe olduğu gerçeğini almaz.
Ben doğru bir mesafe oluşturmak için bu algoritmayı çimdik herhangi bir şekilde 0 ve 499 bitişik olduğu göz önüne alındığında, var mı?
Thanks, -Umo