Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gif export #15

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Gif export #15

wants to merge 3 commits into from

Conversation

ethol
Copy link

@ethol ethol commented Sep 25, 2023

Using pillow to export gol to gif

Using pillow to export gol to gif
@ethol
Copy link
Author

ethol commented Sep 25, 2023

Played with Pillow and made it work for me, there is this odd thing happening with the output where the gliders im not sure it’s a problem with how things are displayed, or something internal in BHV. Feel free to check it out.

@Adam-Vandervorst
Copy link
Owner

Hi! This has raised a few warts. While this works for some implementations, it doesn't for others for some very nasty reasons: there are three different orders going on, resulting in the weird patterns:
Order of bits of byte, order of byte of word, and order of words.
In one implementation, all three align, and dumping the hypervector to a file format works.
In the other implementations, you'd need to reverse some of the words.

Since this only matters for visualization purposes (i.e., all implementations are self-consistent), I haven't pushed my changes (that built on this PR). I don't want to sacrifice performance (e.g., using a non-native byte order) for this purity.

While I'm enthusiastic about the CA use case, fast GIFs are in direct opposition to a fast implementation. Therefore, I'll try and write a fast and correct "bits/bitstring" function, that converts to the "logical" representation (move bits in the directions of the roll), which will have to be specialized for each implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants