Szerző Téma: [Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.  (Megtekintve 2759 alkalommal)

GroX

  • Vendég
0 Show voters
Kezdjük is.
A függvény amire szükségünk lesz, az a floatsqroot függvény, ami arra való, hogy egy lebegõpontos törtszámnak a négyzetgyökét kiszámolja.
Az egész nagyjából annyi, hogy fogjuk a két játékos (vagy két pont), három koordinátáját, és egyszerû számtani mûveleteket végzünk vele. Az egyes játékos (pozíció) (tök mindegy melyik lesz) lesz a player1, a kettes a player2. Struktúra:
A player1 X pozíciójából kivonjuk a player2 X pozícióját, és ezt négyzetre emeljük.
A player1 Y pozíciójából kivonjuk a player2 Y pozícióját, és ezt négyzetre emeljük.
A player1 Z pozíciójából kivonjuk a player2 Z pozícióját, és ezt négyzetre emeljük.
Ezt a 3 eredményt összeadjuk.
A kapott eredménynek kiszámoljuk a négyzetgyökét, a függvényünk segítségével.
Akinek nem tiszta, hogy mi az a négyzetre emelés: egyszerûen magyarázva, önmagával megszorozzuk a számot.
Darabonként a mûveletek:
 
(player1x - player2x) * (player1x - player2x)
(player1y - player2y) * (player1y - player2y)
(player1z - player2z) * (player1z - player2z)

 
Ilyen sorrendben rakjuk be a függvényünkbe, és adjuk össze õket.
Tehát:
 
floatsqroot((player1x - player2x) * (player1x - player2x) + (player1y - player2y) * (player1y - player2y) + (player1z - player2z) * (player1z - player2z));

 
Ennyi lett volna a leírás, köszönöm hogy elolvastad.

[Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
« Válasz #1 Dátum: 2010. december 22. - 13:31:41 »
0 Show voters
Szép leírás,hasznos.  :)

Nem elérhető M4tr1X

  • 1131
    • Profil megtekintése
[Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
« Válasz #2 Dátum: 2011. január 02. - 05:56:11 »
0 Show voters
Ez most jól jött nekem. :) Köszi.

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
[Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
« Válasz #3 Dátum: 2011. január 02. - 11:57:42 »
0 Show voters
Szép leírás, és valóban ezt a módszert használják a legtöbbször, de van egy hátránya, mégpedig az, hogy a floatsqr függvény eléggé lassú. Ezért Y_Less kidolgozta az újrarandezés( rearranging ) módszerét, az sokkal gyorsabb.

[Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
« Válasz #4 Dátum: 2011. január 02. - 15:02:32 »
0 Show voters
Köööszi! :)

Ez most pont jól jött. :)


ZeRo: Aaaaz milyen?:D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal