GithubHelp home page GithubHelp logo

simple_geometry's Introduction

Simple Geometry

Simple Geometry is an example of implementing the concept of sampling using Bridson's Algorithm to create a Poisson-Disc.

Overview

Simple Geometry is built with Vanilla JavaScript for the sampling and button interactions and HTML5's Canvas for rendering the painting.

The game begins with a cleared board, and as soon as the user clicks on the screen, the screen starts getting filled with circles, creating a pointillism effect. These circles begin from a random spot on the canvas, and continue to spread out almost-evenly until a picture is made. The circles will slowly have a smaller radius as time goes by, creating a clearer and clearer picture. The user may click the next or previous buttons at the top to move through different images.

painting

Design

The BridsonsAlgorithm class holds all the logic for creating the algorithm, such as choosing active samples, deciding which locations to place new samples for even distribution, and deciding when a sample should go from being active to dead. The ImageStuff class contains the logic for creating the image and pulling the color data for each pixel. The algorithm and image sampling come together in the main file along with the functionality of the buttons and audio.

simple_geometry's People

Contributors

aastudent avatar harrisjm avatar

Watchers

James Cloos avatar Humza Baig avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.