|
Posted by Robin Vickery on 08/03/05 18:38
On 8/3/05, Rene Brehmer <piv@metalbunny.net> wrote:
> I've run into a situation where PHP is way off when doing a relatively
> simple calculation of distance between two points in 2-dimensional space,
> where coordinates go from 1 to 300 in both X and Y directions. When passing
> 300, it goes back to 1, and vise-versa (it's for a game and is supposed to
> approximate the movement over a sphere).
>
> Using this function:
>
> function calc_distance($curX,$curY,$newX,$newY) {
> // calculate distance to new location
> $distX = abs($curX - $newX);
> $distY = abs($curY - $newY);
>
> if ($distX <= 150 && $distY <= 150) {
> $dist = sqrt($distX^2 + $distY^2);
I don't think you really want to do a bitwise xor there.
http://www.php.net/manual/en/language.operators.bitwise.php
Try pow() instead
http://www.php.net/manual/en/function.pow.php
-robin
Navigation:
[Reply to this message]
|