element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Code Exchange
  • Technologies
  • More
Code Exchange
Blog Recursive Drawing lets anyone become a programmer regardless of experience
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Code Exchange to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Catwell
  • Date Created: 31 Aug 2012 6:56 PM Date Created
  • Views 2059 views
  • Likes 1 like
  • Comments 3 comments
  • hmi
  • gui
  • on_campus
  • programming
  • cabeatwell
  • code
  • recursive_drawing
  • university
Related
Recommended

Recursive Drawing lets anyone become a programmer regardless of experience

Catwell
Catwell
31 Aug 2012

image

Recursive Drawing logo (via totem.cc)

 

There’s a new web-app on the net that allows anyone to create complex shapes and images through what’s known as Recursive Drawing (process of repeating items in a self-similar way). The RD app was designed by Toby Schachman as his thesis project for the Interactive Telecommunications Program at New York University and features a minimalistic GUI, consisting of a circle and a square, which lets the user get started in generating your images in a spatially oriented environment. Moving the actual shapes manipulates the source-code of the app — in essence writing and re-writing the software.

 

In contrast, writing a program consists of coding line-by-line, using any number of languages, to change input to output. In order to change or modify the end result the programmer needs to trace the numerical value of the changed process back to the relevant instructions. This can become a repetitive nightmare of jumping back and forth through piles of code to achieve the desired result, which is why Toby thinks that by adapting his prototype app to the way programming is done could potentially make the job much, much easier. Think of it like writing text and seeing what that running process does in real-time, much in the same fashion as Photoshop. This would bring the gap of spatial-interfaces and programming-interfaces closer together, which would give ‘alternative programmers’ such as artists, architects and modders the ability to create programs that represent their work.

 

Toby created his Recursive Drawing app based off of the textual programming language Context Free which generates images through written instructions known as grammar. The grammar itself is ‘formal’ with every production rule is in the form of V- w (V representing a single nonterminal symbol with w representing a string of terminals) and when compiled form Context Free languages (these languages are identical to pushdown automata languages which are a type of stack for temporary data storage).

 

Toby states that he will be presenting his prototype Recursive Drawing app at this year’s (2012) Splash (Systems, Programming, Languages, Applications, Software for Humanity) conference in October. Those interested in trying the app can visit Toby’s website at http://totem.cc/onward2012/

 

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Cabe

http://twitter.com/Cabe_e14

  • Sign in to reply
  • Former Member
    Former Member over 13 years ago

    Pretty interesting!  Since I know what the Lindenmayer systems I presume are underlying this look like and how they are made, I can see the potential this has to go in a programming direction.  Rather than drawing shapes, what if this same functionality was available for data processing segments such as functions in a visual programming environment?  It would most likely be able to make recursive functions much easier to visualize and understand, especially for beginning programmers.  Recursion is a topic that lots of people often have trouble grasping until they've banged on it for awhile and messed around with it - exactly what this type of environment makes possible.  I think there is definitely a great deal of space to explore in the visual programming arena.  No one has yet done it in a way that provides more power and capability than it does get in your way.  Once visual programs grow beyond the size that fits on a screen it becomes difficult to move around the UI and keep in mind the overall structure of how data is flowing.  Different approaches are needed, and I think this one might be a stab in a direction that might show some promise!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • oneleggedredcow
    oneleggedredcow over 13 years ago

    Yeah, programming is a stretch, but that looks like a really neat program!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 13 years ago

    I will agree that it is an interesting drawing program, but I think it is a huge stretch to call this programming.

     

    PLus, we have had these mandlebrot type drawing programs for a while.  All you have to do is adjust the various input values to get very interesting visual representations.  But this is still not programming.

     

    Just my Opinion,

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube