johnalexandergreene / whelmer Goto Github PK
View Code? Open in Web Editor NEWlike clouded plain but rounder and more mystical
License: GNU General Public License v3.0
like clouded plain but rounder and more mystical
License: GNU General Public License v3.0
WHELMER whelmer is like clouded plain except round just circles, .. rings... of different colors, arising from the center moving at different speeds fading away when they get too far from the center, when they get near the edge (SHOULD WE HAVE 2-WAY RING MOVEMENT?) interacting via overlap which manifests as color blend the field is black so we can work with a square. because the edges will be hidden and the whole field of pixel-squares is then interpreted as sound or maybe we'll interpret the circles that way I'm not sure. 1) make the field. the black square 2) make a fuzzy circle 3) make it move, arise ... fade in and then fade out maybe different rates of fade ring differences color thickness speed rate of fade, outer and inner edge part of a sequence. what we'll have is a list full of rings each ring has a birthday we increment through time at 60 ticks per second when a we hit a ring's birthday it manifests in the center and at every subsequent tick it moves outward, eventually disappearing from view and being removed from the list rings who's birthday has not been hit just hang out in the list waiting to be born thus we can create patterns, sequences or whatever. Probably in reverse, starting at NOW-1 and adding a new ring at every 100 ticks into the past for 100 ticks or whatever. our rings are solid color with faded edges, right? so basically a color and an alpha a RING is a drawing function d : distance from center t : time define value and intensity at each pixel in range ----------------------- +++++++++++++++++++++++ interface Whelmer{ double getMaxRadius(); //the visual and logical edge of this system. rings that pass beyond it tend to disappear void incrementTime(); List<Ring> getRings(); int getTime(); Cell[][] getState(); //a 2d array of cells. //each cell of the system holds the presence of the background and any Rings that touch that cell. // at a cell, the background only manifests to the degree 1.0-sum_of_all_ring_presences. //So if there are enough rings present then the background is completely hidden. } interface Cell{ int getX(); int getY(); List<RingPresence> getPresences(); } interface Ring{ Whelmer getWhelmer(); //the whelmer of which this ring is a component double getFrontEdge(); //a radius double getBackEdge(); //a radius double getFrontFade(); //distance over which the edge fades double getBackFade(); double getFrontSpeed(); //rate of change of front radius per tick. Positive speed means movement outward from center. Can be negative. double getBackSpeed(); int getBirthday(); //the value of whelmer.getTime() when this ring was created. boolean killMe(); //at some point a ring gets destroyed. //It passes outside the geometry of the whelmer or something. //At that point we might signal that we are ready to be discarded from the whelmer system. double getValue(); // an abstract value in range 0<=n<1 distinguishing this ring. //It can be translated into a color or sound. //It can be blended with other ring values to create a group value } interface imageRenderer{ BufferedImage getImage(Whelmer whelmer); }
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.