This application will draw approximations of the attracting periodic orbits for a family of functions. This diagram, sometimes called the bifurcation diagram, would more accurately be described as the orbit diagram.
 

The source code is freely available, but lousy, so don't try to learn programming from it.

The algorithm is based on the standard routine for drawing such a picture, see Devaney or Gulick, for example.

Currently, there are eight function families available:
The Cosine Family: Cm(x) = m cos(x).
The Cubic Family: Fm(x) = m (x - x3/3).
The Horizontal Quadratic Family: HQm(x) = (x + m)2).
The Logistic Family: Lm(x) = m x (1-x).
The Quadratic Family: Qm(x) = x2 + m.
The Quartic Family: Gm(x) = m x (1-x) (1-2x)2.
The Sine Family: Sm(x) = m sin(x).
The Tent Family: Tm(x) = mx, if x ≤ 1/2, and m(1-x) if 1/2 ≤ x.

In the plot, the horizontal axis represents the parameter m, while the vertical axis represents values of x.

Choose a family from the drop-down box below. Also choose a smallest value and a largest value for the parameter, m, and a smallest and largest value for x. The axes will be labeled with these values. Pay attention to the suggested values for m and x below the picture. Using m or x values too large or too small could crash the applet, or leave out important features of the diagram. You may detect some apparent missing symmetry in the Sine family. See the note below about number of orbits and Initial Conditions for help with this mystery.

If you've changed information in the boxes, click the Redraw Button to view any changes you've made.
For the Logistic Map (what the text calls Fλ), use 2.0 ≤ m ≤ 4.0, with 0 ≤ x ≤ 1. For the Horizontal Quadratic Map, use -2 ≤ m ≤ 0.25, and 0 ≤ x ≤ 4.
For the Quadratic Map (what the text calls Qc), use m ≤ -0.25. The minimum and maximum x-values are slightly more complicated.
To see the full picture, you should probably use maxX = (1+Sqrt(1-4(minM)))/2 and minX = -maxX, where minM is the smallest value of m. As an approximation, perhaps you could try maxX = 1.5 for minm = -1 and maxX = 2 for minm = -2.
For the Sine Map, start with -3.14159 ≤ m ≤ 3.14159, and -3.14159 ≤ x ≤ 3.14159. Try using one or two orbits, with initial conditions 0.5 and -0.5. Entries in the Initial Conditions box should be numbers, separated by one comma and one space.

For the Tent Map, use 1.0 ≤ m ≤ 2.0, with 0 ≤ x ≤ 1.