NAVIGATION:

 

SUPPORTERS:

FlashComponents
  Flash Templates
  Flash Gallery
  Flash Slideshow
  Flash Menu
  Flash Design
  Flash Video
  User Interface

 

FOLLOW:

RSS it down! Twitter it up! Facebook it like a fiend!

 

 

 

 

 
Fractal Branch
      
by ilyas usal

The first thing we need for a recursive function is a function. A function that will draw a branch. I shall call that function makeBranch. I want that function to draw a branch at a given position, in a given direction, I want it to be of a given length, and of a certain diameter. All those requirements will be input as be parameters of the makeBranch function.

[ the makeBranch function: copy and paste into a frame's actions ]

The parameters we were talking about previously:

  • start_x, start_y
    Starting position of the branch
     
  • length
    Length of the branch
     
  • angle
    Direction of the branch, in radians
     
  • size
    Size of the branch

If you've forgotten how the drawing API works, please refer to the corresponding tutorial. For all the others, let's see how this works:

  • this.lineStyle ( size, 0x333333, 100 )
    First we define our lineStyle. The only thing that is a variable is the pen size, which we set to be equal to the size of the branch.
     
  • this.moveTo ( start_x, start_y )
    We move the virtual pen to the starting position of the branch.
     
  • var end_x = start_x + length * Math.cos ( angle )
    We calculate the position of the end of the branch. This is simple trigonometry, so you can either (1) believe me, or (2) read Senocular's very good trigonometry tutorial.
     
  • this.lineTo ( end_x, end_y )
    Last but not least, we draw a line from the starting point to the ending point of the branch.

If you preview your movie, you'll see a few branches, all of them starting from the _y position 200. The only thing we changed, apart from the _x position, is the direction. If you compare the angles and what Flash draws, you'll see that:

  • Direction 0 means that the branch goes right.
  • Direction Math.PI/2 means that the branch goes down.
  • Direction Math.PI means that the branch goes left.
  • Direction -Math.PI/2 means that the branch goes up.

If you wonder how this works, the trigonometry tutorial I mentioned before is your best friend. There are more tutorials similar to this, so be sure to check out the ones that follow this.

Ilyas Usal
{Pictures 1 | 2}

 
SUPPORTERS:

kirupa.com's fast and reliable hosting provided by Media Temple. flash components
The Text Animation Component for Flash CS3
Check out the great, high-quality flash extensions. Buy or sell stock flash, video, audio and fonts for as little as 50 cents at FlashDen.

Flash Transition Effects

Flash Effect Tutorials

Digicrafts Components
The best flash components ever! Upload, publish, deliver. Secure hosting for your professional or academic video, presentations & more. Screencast.com
Streamsolutions Content Delivery Networks Flipping Book - page flip flash component.
Learn how to advertise on kirupa.com

cdn
content delivery network (cdn)