GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: GroX - 2010. december 22. - 00:19:28

Cím: [Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
Írta: GroX - 2010. december 22. - 00:19:28
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.
Cím: [Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
Írta: ChuckNorris - 2010. december 22. - 13:31:41
Szép leírás,hasznos.  :)
Cím: [Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
Írta: M4tr1X - 2011. január 02. - 05:56:11
Ez most jól jött nekem. :) Köszi.
Cím: [Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
Írta: ZeRo - 2011. január 02. - 11:57:42
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.
Cím: [Leírás]Hogyan kalkuláljuk ki két játékos (pont) közötti távolságot.
Írta: Vampesz - 2011. január 02. - 15:02:32
Köööszi! :)

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


ZeRo: Aaaaz milyen?:D