Are the squares a result of rounding errors?



Several people theorized that the squares in the image could be artefacts caused by floating point limitations.



And the answer is ... no!



Some people implemented my algorithm and got the squares and some got no squares.



had the idea that the squares could be the result of the type of "integer check".



My original "intger check" was:

if ((n-Math.floor(n)) < 0.1) n is integer



This is asymmetrical as it does see 1.05 as integer, but not 1.95.



On the left is a rendering with a symmetrical version of the "integer check":

if ((n-Math.floor(n)) < 0.1) n is integer

if ((n-Math.floor(n)) > 0.9) n is integer

else n is not an integer



Voila! No squares.



Unless otherwise noted, from here on all renderings are done with the new, symmetrical "integer check". Several people theorized that the squares in the image could be artefacts caused by floating point limitations.And the answer is ...Some people implemented my algorithm and got the squares and some got no squares. Iazid had the idea that the squares could be the result of the type of "integer check".My original "intger check" was:if ((n-Math.floor(n)) < 0.1) n is integerThis is asymmetrical as it does see 1.05 as integer, but not 1.95.On the left is a rendering with a symmetrical version of the "integer check":if ((n-Math.floor(n)) < 0.1) n is integerif ((n-Math.floor(n)) > 0.9) n is integerelse n is not an integerVoila! No squares.Unless otherwise noted, from here on all renderings are done with the new, symmetrical "integer check".