Re: Calculation error - PHP not following math hierarchi ???
| From: | Robin Vickery | Date: | Wed, 03 Aug 2005 15:38:08 +0000 |
| Subject: | Re: Calculation error - PHP not following math hierarchi ??? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-219902@lists.php.net to get a copy of this message | ||
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