Code Monkey home page Code Monkey logo

v6ctor / drawing-program Goto Github PK

View Code? Open in Web Editor NEW

This project forked from algorithmically-generated-artwork/drawing-program

1.0 0.0 0.0 5.75 MB

AlgoArt.org is a digital platform that brings together Artists and Technologists to create algorithmically generated visual designs and artworks. This repository contains a simplified and light-weight version of our Creator Studio that you can use to develop your own drawing algorithms and generate your own unique artworks!

Home Page: https://algoart.org/studio.html

License: MIT License

JavaScript 56.48% CSS 13.18% HTML 30.34%

drawing-program's Introduction

AlgoArt Creator Studio (Simplified Version)

Introduction

AlgoArt.org is a digital platform that brings together Artists and Technologists to create algorithmically generated visual designs and artworks. This repository contains a simplified and light-weight version of our Creator Studio that you can use to develop your own drawing algorithms and generate your own unique artworks!

Try out our public demo @ https://algoart.org/studio.html

Videos & Talks

Artwork Video

Artwork Video

Talk & Tutorial

Talk & Tutorial Video

How Does It Work?

Drawing Algorithms: We designed a simple framework for creating drawing algorithms. These algorithms, coded in JavaScript, are built from procedural processes that draw lines and basic shapes onto an HTML Canvas. Our example procedural processes were inspired by mathematical concepts, natural phenomena, and artistic trends.

Algorithm Structure: Each algorithm has two JavaScript files. One file is for the drawing procedure and the other is for parameter configuration. The drawing procedure is declared as a dictionary object and includes functions called start, pause, reset, initialize, and drawOneStep.

Web Interface: The web interface is used to run your drawing algorithms. Using the web interface, a user can start, pause, or reset a drawing algorithm. In addition, a user can also clear the canvas and save the current state of the digital canvas as an image file.

Web Interface Screenshot

Our Algorithms

algDots (Simple Example)

This is a sample drawing algorithm that is meant for viewers to understand the programming framework that is used to create a new drawing algorithm. We encourage you to clone our repo and try modifying this code to build your own drawing algorithm. If you do so, please consider sharing your resulting artworks with us and submit a pull request!

Example Drawing:

algDots Animation

algGP (Mike's Geometric Patterns)

This drawing program takes in over 30 different parameters representing line length, line thickness, rotation angles, color variations, background color blending, line sparsity, and whether intersecting lines are allowed. Based on these parameters and a random number generator, the drawing program generates different kinds of repeated geometric patterns. All of the generated patterns are drawn line by line on a digital canvas.

Example Drawing:

algGP Animation

Blog Article: https://michaelwehar.wordpress.com/2022/06/16/algorithmically-generated-visual-designs-geometric-patterns/

algVines (Alyssa's Vines)

This algorithm, called "Vines", operates by drawing a variety of shapes across a canvas following certain kinds of paths. These paths that the vines follow are determined by various mathematical formulas. In particular, there are four kinds of paths: a random path, a linear path, a spiral path, and a path determined by a sine function.

Example Drawing:

algVines Animation

Blog Article: https://michaelwehar.wordpress.com/2022/07/23/algorithmically-generated-visual-designs-5-vines/

Articles & Links

Blog Articles

More Articles

More Links

Contributors

Actively Contributing

  • Xingyu (Kevin) Dong
  • Xinxin Li
  • Michael Wehar

Past Contributors

  • John Mancini
  • Maya Newman-Toker
  • Alyssa Zhang

Special thanks to all friends and collaborators who offered help!

License & Libraries

The code in this repository is made available under MIT License.

This platform was developed using the following libraries which are available under MIT License.

Contact Us

We are excited to start collaborations and build new partnerships!

Send an email to Michael Wehar or submit a pull request.

drawing-program's People

Contributors

amzhang02 avatar michaelwehar avatar v6ctor avatar

Stargazers

 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.