Close

First image

A project log for PEAC Pisano with End-Around Carry algorithm

Add X to Y and Y to X, says the song. And carry on.

Yann Guidon / YGDESYann Guidon / YGDES 04/26/2021 at 01:054 Comments

I battled with the BMP header, alignment and other stupid things to finally get THIS :

This is the map for the width of 10 bits, or 2Mi points. X axis is horizontal from left to right and Y axis from 0-top to max-bottom, with the carry=1 states on the lower half. Zoom and enjoy!

I'll upload the code ASAP but I have yet to solve a few bugs. For example only the orbits seem visible and I don't see the trajectories, which amount to approx. 1/2 of the points.

Meanwhile, this is a "clue" that the structure is "visually random", or at least nicely spread, and another encouragement to further the study.

You can also observe the nice symmetry with the WIDTH=3 and WIDTH=4 maps, zoomed here for your convenience :

I knew that there would be a sort of diagonal symmetry, among others, but you have to see it!

.........................................................

Update : solved the palette bug and now I get these pictures, for widths 3, 4, 6 and 10 :

The diagonal bands are now apparent. I have chosen width=6 for the counter example, but the other widths show that all the shaded points in the corners will lead to the brighter colour in the diagonal band. There is also a very obvious central symmetry, which was to be expected from the additive nature of the algorithm. This could help half the memory requirements...

The source code is there : orbits_bmp.c however there is still a bug where I can't see the "sticky states" that should appear in a different colour.

And here as a bonus, the animated version ! Which destroys some of the assertions I have written above.

Width=4

Width=5:

For larger ones, I am limited by the size allowed by the website... But you can make your own with the source code !

.....

Update:

I solved that stuuuupid BMP bug ! So now the palette is "right" !

Width=2

Width=3

Width=4

Other sizes don't fit in this page, but you can create your own with this command line:

gcc -g -Wall orbits_anim.c -O2 -DWIDTH=3 -o orbits_anim
convert -scale 128x256 -delay 30 -loop 0 img03_00* anim03_256.gif

That's it. I have updated the source code in the download section:
orbits_anim.c

Things should behave much better now !

Discussions

Yann Guidon / YGDES wrote 04/26/2021 at 12:32 point

I'm trying to solve issues with the program "convert", I don't know why it (and some few other programs) rejects the small BMP...

  Are you sure? yes | no

Yann Guidon / YGDES wrote 04/27/2021 at 03:53 point

Solved !

  Are you sure? yes | no

Dr. Cockroach wrote 04/26/2021 at 12:02 point

Woah, way cool :-)

  Are you sure? yes | no

Yann Guidon / YGDES wrote 04/26/2021 at 12:31 point

Quite an understatement.

  Are you sure? yes | no