kobejohn / polymaze Goto Github PK
View Code? Open in Web Editor NEWCreate polygon-tesselation mazes from a variety of sources.
License: MIT License
Create polygon-tesselation mazes from a variety of sources.
License: MIT License
A demo proving it is possible to interact with the grid + background image in real time.
For example, as the mouse moves, it changes the properties of the areas/edges, clicking changes the alpha value, etc.
I have the most uncertainty here about what approaches might work. I want it to be performant enough to produce images at video rate (make and display 1530 changes per second).
The time limit needs to apply to the combination of both making changes and producing the final image.
Tentative idea for the app - a whole image is turned into a maze (not sections) but only the current "region" you are in (for example, a letter if it's text) is visible. So the giant maze is effectively partitioned into interconnected mazes where you can never see the whole thing at one time. Maybe you can drop bread crumbs to track your way (ala Labyrinth).
This is the key step that is doesn't make sense with the polymaze-focused implementation. All original image information has been lost by the time a grid reaches the polymaze module. Since the amount of implementation required to support this is non-trivial and it should be reusable, I judged it's worth moving it while implementing it into the core polygrid system.
This is a request from a user. Thanks for the suggestion!
Originally I wanted the output to be SVG but didn't have time or knowledge to do it when I made this. It's the ideal format for people who know what they are doing.
PNG is still the best output for the average user since it retains clean lines and has excellent compression due to the regular nature of the maze.
This first step is probably the biggest so I'm making it very simple. The current system already has visualization for the grid, but it is done in the polymaze module rather than in the core (polygrid). This is not good because polygrid is fundamentally a visual system so any other types of visualization would be mostly duplicate code violating DRY (don't repeat yourself).
The first step is to move the basic visualization into a new visualizer class that enhances the base PolyGrid class.
The target is eventually to allow polymaze to behave exactly as it does now but also enable interactive image overlays which are impossible with the current polymaze-focused implementation.
It might incredibly inflate file sizes, but if it looks good, it would be possible to reduce maze sharpness to make it feasible.
Instead of setting a value to the whole grid, allow color/alpha to be applied to each edge individually.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.