Moderators: Darobat, RecursiveS, Dante Shamest, Bugdude, Wizard
Darryl wrote:One other idea I have since the angles will infinitely spread, that if I figured out where they reach a distance of 1 unit apart, that extending them another 1 unit in length would surely enclose a integer pair, however it would miss all earlier integer pairs which I really would like instead for instance.
A typical range of angles of size 9.136e-114 doesn't contain any numbers that can be represented in any encoding using 64 bits.
#include <iostream>
#include <string>
#include "gmpxx.h"
#include <cmath>
mpf_class lowerbound(0.0, 512);
mpf_class upperbound(360.0,512);
std::string test = "10010100100101110100";\\edited from a 1024 digit binary string
int main()
{
for (int index = 0; index < test.size(); index++)
{
mpf_class newbound((lowerbound+upperbound)/2.0,512);
if (test[index] == '1')
{
lowerbound = newbound;
}
else
{
upperbound = newbound;
}
}
}
Here is the basic algorithm, basically to adjust the upper and lower bound according to whether next bit was 0 or 1, thus focusing on a smaller and smaller angle.
I hope the beauty of the plan was to be even at ridiculously small angles, I could extend them out far enough, to capture a coordinate pair, that could be stored more efficiently than the original bitstream or angle it describes. But now I am having second thoughts...you know it's easy to imagine this would work when you picture a tiny angle that encloses a 45 degree angle, but I guess for other angles, it won't be so nice.
Users browsing this forum: No registered users and 0 guests