Bored Panda works better on our iPhone app
Continue in app Continue in browser

BoredPanda Add post form topAdd Post Search
Tooltip close

The Bored Panda iOS app is live! Fight boredom with iPhones and iPads here.

I Spend 9 Months Developing An Algorithm That Can Draw
User submission
122
8.4K

I Spend 9 Months Developing An Algorithm That Can Draw

ADVERTISEMENT

Almost one year ago I started working on drawing algorithms soon after that I opened an experimental design studio LinesLab that explores algorithmic art and robotics.

After about 9 months I finished a system that is capable of drawing in many different styles and allows to create a completely new style within a couple of minutes. The system automatically optimizes the drawings based on their size, used materials and the perceived similarity. Here are some results of the drawings I made with my pen plotter Karel. Each drawing is computed in just under one second and Karel between one or three hours to complete the drawings, depending on the drawing complexity, the drawing sped and the size of the drawing.

More info: Facebook

Dashes style drawing

This dashed style drawing is one of the more complex drawings. Each drawing consists of over 100 thousand individual lines. This one has over 120 thousand lines. Notice the texture of the fabric.

ADVERTISEMENT

Mosaic style drawing

ADVERTISEMENT

The mosaic style started as an experiment. I wanted to see what happens if I combine some of my styles. I like the result and included it in my system.

ADVERTISEMENT

Single Line Spiral Drawing

This style was the start of LinesLab. I wrote the code within 20 minutes to make the first drawing of Audrey Hepburn, and the result was quite good already. Later this style was the first that was integrated into the LinesLab system and the result was even better than the first time.

Stippling Style Drawing

I am not a huge fan of the stippling style, I quickly added this style to the LinesLab system for a presentation for high school students. They loved it so much that I decided to keep it as a fixed style in the LinesLab system.

ADVERTISEMENT

Halftone Drawings

This is a little different version of the traditional halftone illustration. Each pixel does not change in size but in the number of lines that are drawn as a star.

ADVERTISEMENT

Hatching Style Drawing

Hatching is a very common technique in arts, so I just had to add this to my system as well.

Triangulation style

I tried to do a different approach of the triangulation in this style. I was quite amazed how well the LinesLab system manages to bring out the small details.

Micro Dashed Style Drawings

ADVERTISEMENT

I wondered how scalable the LinesLab system could be. So I tested the limits by making micro drawings. Each of those drawings is only 4×4 cm big. But I feel the results are quite convincing.

Micro Spiral Style Drawings

Again to test the scalability I made those tiny drawings as a tribute to La La Land.

Scribble Drawings

Some styles that I made are too complex for Karel at the moment. This is one of those styles. A single line scribble drawing. I modeled this style after the results of my fellow researchers from Taiwan. But instead of using their code I let my system create the drawing.

ADVERTISEMENT

8Kviews

Share on Facebook
You May Like
Popular on Bored Panda
What do you think ?
Add photo comments
POST
g632137 avatar
David Wolf
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

There are really lovely. Are you taking commissions by any chance? I'd love to have one of those as a Christmas present.

sergejsto avatar
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

Thanks a lot. In fact I opened a small shop on Etsy for custom drawings: https://www.etsy.com/shop/LinesLab

Load More Replies...
therealpixie avatar
therealpixie
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

I'd be hard put to accurately define a drawing algorithm, much less create one. It looks like magic to me.

misterscooter avatar
Misterscooter
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

I love the results. Are there some styles that have given you trouble that you hope to conquer?

sergejsto avatar
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

Thanks! Some styles that I have tried out do not turn out great, just because my idea would not work in real life. For example drawings with long curved lines almost always introduce interference patterns. On the other hand I am toying around with using different frequencies for drawing the images in that way I could make a drawing that contains two images that can only be seen at two different distances to the drawing.

Load More Replies...
sarampo avatar
sarampo
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

It seems to me that in the pics you posted here the particular algorithm tried to be as close to the original as possible. Are you planning to add some random 'mistakes' to them? I mean things like parallelism, line length & width.

sergejsto avatar
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

You are absolutely correct I optimize the results so that they look as similar as the input image, given the size of the drawing and the properties of the pen. Therefore I usually do not add randomness to my algorithm, because the optimization would not be reliable anymore. But I do use parallelism in my computation by porting the computation to GPU (If this is what you meant).

Load More Replies...
eschaton3 avatar
abhiabhiabhiabhinav avatar
Abhinav Singh
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

Can someone explain me the difference between filters and these algorithms?

Load More Replies...
g632137 avatar
David Wolf
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

There are really lovely. Are you taking commissions by any chance? I'd love to have one of those as a Christmas present.

sergejsto avatar
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

Thanks a lot. In fact I opened a small shop on Etsy for custom drawings: https://www.etsy.com/shop/LinesLab

Load More Replies...
therealpixie avatar
therealpixie
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

I'd be hard put to accurately define a drawing algorithm, much less create one. It looks like magic to me.

misterscooter avatar
Misterscooter
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

I love the results. Are there some styles that have given you trouble that you hope to conquer?

sergejsto avatar
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

Thanks! Some styles that I have tried out do not turn out great, just because my idea would not work in real life. For example drawings with long curved lines almost always introduce interference patterns. On the other hand I am toying around with using different frequencies for drawing the images in that way I could make a drawing that contains two images that can only be seen at two different distances to the drawing.

Load More Replies...
sarampo avatar
sarampo
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

It seems to me that in the pics you posted here the particular algorithm tried to be as close to the original as possible. Are you planning to add some random 'mistakes' to them? I mean things like parallelism, line length & width.

sergejsto avatar
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

You are absolutely correct I optimize the results so that they look as similar as the input image, given the size of the drawing and the properties of the pen. Therefore I usually do not add randomness to my algorithm, because the optimization would not be reliable anymore. But I do use parallelism in my computation by porting the computation to GPU (If this is what you meant).

Load More Replies...
eschaton3 avatar
abhiabhiabhiabhinav avatar
Abhinav Singh
Community Member
6 years ago DotsCreated by potrace 1.15, written by Peter Selinger 2001-2017

Can someone explain me the difference between filters and these algorithms?

Load More Replies...
Popular on Bored Panda
Trending on Bored Panda
Also on Bored Panda