Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/CodingTrain/Wave-Function-Collapse


https://github.com/CodingTrain/Wave-Function-Collapse

Last synced: 5 days ago
JSON representation

Awesome Lists containing this project

README

        

# Wave-Function-Collapse

Straight out of quantum mechanics, Wave Function Collapse is an algorithm for procedural generation of images. In this video (recorded over 3 live streams) I attempt the tiled model and explore a variety of solutions to the algorithm in JavaScript with p5.js.

![GIF animation of WFC algorithm](gifs/wfc.gif)

- [Wave Function Collapse video](https://thecodingtrain.com/challenges/171-wave-function-collapse)
- [Wave Function Collapse algorithm source](https://github.com/mxgmn/WaveFunctionCollapse)
- [Wave Function Collapse Processing forum discussion](https://discourse.processing.org/t/wave-collapse-function-algorithm-in-processing/12983)

## Plan

### Completed

- [x] Implementation of Tile Model (see: https://youtu.be/rI_y2GAlQFM)

### Corrections

- [ ] Additional Rules for tiles 4 and 5
- [ ] Explain how Computed Property Names could have been used (see: https://github.com/CodingTrain/Wave-Function-Collapse/issues/35)

### Next Steps and Refactoring

- [ ] Filter out redundant tiles
- [ ] Recursive entropy reduction
- [ ] Shannon entropy

### Future work

- [ ] Overlapping model

## Related work

- [WFC using local storage](https://editor.p5js.org/kfahn/full/iNUF-Lgdf) by @kfahn22.
- [Model Synthesis](https://paulmerrell.org/model-synthesis/) by Paul Merrell