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

BoredPanda Add post form topAdd Post
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.5K

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

RELATED:

    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
    ADVERTISEMENT

    Mosaic style drawing

    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.

    ADVERTISEMENT

    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.

    Halftone Drawings

    ADVERTISEMENT

    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.

    Hatching Style Drawing

    ADVERTISEMENT

    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

    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

    ADVERTISEMENT

    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.

    9Kviews

    Share on Facebook
    Sergej Stoppel

    Sergej Stoppel

    Author, Community member

    Read more »

    I am the founder of LinesLab an experimental design studio that explores algorithmic art and robotics.

    Read less »
    Sergej Stoppel

    Sergej Stoppel

    Author, Community member

    I am the founder of LinesLab an experimental design studio that explores algorithmic art and robotics.

    What do you think ?
    Add photo comments
    POST
    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.

    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
    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
    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?

    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
    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.

    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...
    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...
    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.

    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
    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
    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?

    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
    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.

    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...
    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...
    Related on Bored Panda
    Related on Bored Panda
    Trending on Bored Panda
    Also on Bored Panda