Hackernoon logoUrpflanze JavaScript Library for Generative Art and Creative Coding by@genbs

Urpflanze JavaScript Library for Generative Art and Creative Coding

Author profile picture

@genbsGennaro Bosone

I'm curious, anything can be interesting. Full stack developer.

For some time now, I have been feeling the need to use the code not for commercial purposes, but purely for fun.

This is why I am approaching the world of creative coding.

One big difficulty I immediately encountered was the lack of knowledge of linear algebra and trigonometry, and this is the reason why I decided to develop a library that would make the approach easier even for the less experienced user.

Mandalas have always fascinated me, so I started with simple shapes such as lines and polygons, and I worked on how to distribute them on a circumference.

I focused on managing every single repetition and encapsulating the generated shapes, which allowed me to create new forms starting from the previous and simpler ones.

In addition to circular repetitions, I also added the possibility of creating matrices and some effects during the drawing phase, such as viewing the previous frames or disabling the deletion of the canvas at each frame.

Perfect to create images or animations, it can be used for texture generation, as support to other vector graphics software (thanks to SVGExporter), or to print with Penplotter.

At the moment the roadmaps available are:

  • Documentation for other services (e.g. DrawerSVG)
  • a web-based editor already under development (a very old version is at this linkย gifted-booth-1ad22e.netlify.app)
  • Rendering in WebGL
  • Audio library to create sounds from shapes and vice versa

Docs and Examplesย |ย Repositoryย |ย Other examples

Also published at https://dev.to/genbs/urpflanze-a-javascript-library-for-creative-coding-142j

Author profile picture

@genbsGennaro Bosone

Read my stories

I'm curious, anything can be interesting. Full stack developer.

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.