![]() |
Distance timing out
I have a problem. Whenever I try to find distance between two points the robot controller times out due to the square root calculations. We have a coordinate system of approximately 768x1280 units. Do you think a lookup table would be too large?
|
Re: Distance timing out
square root calculations are the worst
can you leave the number squared and work with it that way? |
Re: Distance timing out
How about having it go to, say, 1 decimal point? with such a large system, you don't need it that precise. And the field is 24' by 48'.
|
Re: Distance timing out
Yes, that would be to big for a standard lookup table. That would be almost a megabyte, if you only looked up a single byte. If you were doing it with floats, it would be even bigger.
|
Re: Distance timing out
Here you go. This based on an algorithm I found on Microchip's web site. It is supposedly optimized for the PIC series chips and will always loop 9 times.
Code:
//return the square root of an unsigned 16 bit integerSorry, I wasn't paying attention. You need a 32-bit version: Code:
//Return the square root of value x where x is an integer. This |
Re: Distance timing out
Quote:
|
| All times are GMT -5. The time now is 02:54. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi