Slashdot Mirror


Computer-Aided Lego Art Project

rsk writes "Justin Voskuhl, a Google engineer, in a 2-fold bid to fight boredom and figure out something to cover a large barren wall in his living room, one weekend developed a Java program using an annealing algorithm to figure out the best layout and colors of Lego blocks to reproduce a source image exclusively in Lego blocks inside a frame. He plans to release the source code soon. I probably would have just painted the wall ..."

10 of 112 comments (clear)

  1. Similar by Arngautr · · Score: 5, Interesting

    OK, I have to show off - I did something similar four years ago.
    Post
    Webpage
    I'm a much better programmer now, just for the record. :)

  2. In a frame on his wall? Really? by greg_barton · · Score: 4, Interesting

    How about glass tiles on a 100'x30' wall, or a 30'x75' wall?

    I wrote the code, my brother in law did the hard parts.

  3. Re:slashdotted already! by dnwq · · Score: 4, Informative

    Nyud.net mirror. Slow, but works.

  4. Re:In a frame on his wall? Really? by Sparr0 · · Score: 4, Insightful

    The major algorithmic difference is that lego blocks are not [always] square, and figuring out which combination of sizes to use to cover an arbitrarily shaped block of color is NP-Hard. What he has done here is seriously impressive.

  5. Eric Harshbarger by amyhughes · · Score: 4, Informative

    This guy has been doing LEGO mosaics for years, and if you google a bit you'll find others and the code for creating them.

  6. Re:slashdotted already! by rsk · · Score: 3, Informative

    Working on getting this horse running again. Sorry for that guys.

  7. Re:I wonder what computer was used by rsk · · Score: 3, Funny

    That was my bad, Justin sent me some pictures and I popped them up cause I thought it was awesome... and then I realized what "Slashdotted" meant like 35 seconds later.

  8. Re:In a frame on his wall? Really? by greg_barton · · Score: 4, Insightful

    Actually, it's easier than that. :) Model with 1x1 blocks on the first pass, using standard interpolation limiting to your available palette colors, then combine horizontally adjacent blocks with the same color as 1xN blocks according to availability.

  9. Re:Prior Art by amyhughes · · Score: 3, Interesting

    For a time LEGO sold a few grey-scale mosaics, but even better you could upload an image and they'd send you pieces in black, white and three shades of grey, and instructions to create your image. If you just wanted the pieces (they were 1x1 plates) you could upload an image that had shades in the proportions you needed. And since they sent you bags (of IIRC 270) and not exact counts, you could create an image that maximized the number of pieces you'd receive. If your image required 271 dark grey pieces, for example, you'd get two bags of 270.

  10. Re:In a frame on his wall? Really? by gadzook33 · · Score: 5, Funny

    Actually, it's easier than that. :) Model with 1x1 blocks on the first pass, using standard interpolation limiting to your available palette colors, then combine horizontally adjacent blocks with the same color as 1xN blocks according to availability.

    And then write it in C++ instead of Java.