Mandelbrot fractal: How is it possible? I'm a programmer and have recently played around a bit with rendering Mandelbrot fractals / zooming into them.
What I can't grasp: How can such infinite, complex shapes come out of somewhat 10 lines of deterministic code?
How is it possible that when zooming ever deeper and deeper, there are still completely new shapes coming up, while the algorithm remains the same?
Does the set maybe give us some deep insight into our universe or even other dimensions, as it involves complex numbers?
 A: I would resume it in one sentence:
ITERATION (OR FEEDBACK) CREATES COMPLEXITY

Julia sets and the Mandelbrot set all come from the iteration of the family of functions $q_c(z)=z^2+c$. What could be simpler that such a second degree polynomial? The complexity comes from the iteration
$$
z_{n+1}=q_c(z_n).
$$
Even if the function $q_c$ is simple, the behaviour of the sequence $\{z_n\}$ may be very complex. In fact, it may be chaotic.
We are in the presence of sensitive dependence on initial conditions (a.k.a. the butterfly effect.) Iterations that begin at two very close initial points, may separate after a sufficiently large number of iterations. The Mandelbrot set is the set of complex nmbers $c$ such that the sequence
$$
0,\ q_c(0)=c,\ q_c(q_c(0))=c^2+c,\ q_c(q_c(q_c(0)))=(c^2+c)^2+c,\dots
$$
remains bounded. The behaviour of that sequence may me very different for two very close values of $c$. That is the reason why you see that complex behaviour when zooming up on a small region.
A: Let $m(z,c) = z^2 + c$, consider the sequence of polynomials: $m(z,z),\,$ $m(m(z,z),z)$, ... , which are $$z^2+z,\quad z^4 + 2z^3 + z^2 + z,\quad z^8 + 4z^7 + 6z^6 + 6z^5 + 5z^4 + 2z^3 + z^2 + z,\quad...\quad.$$
Note that in terms of complex numbers the transformation $z \mapsto m(z,c)$ can be seen a way of twisting and squashing the sphere over itself.. if you keep kneading something you are bound to get tearing and crumpled filaments and such like.
Here are graphs of the first seven (produced by the software here):







A: As discussed at the Wikipedia page, the Mandelbrot set $M$ is not by definition a dynamical object.  Instead it is a subset of parameter space.  That is, each point $c$ of $M$ corresponds to a quadratic polynomial $f_c(z) = z^2 + c$.  
Recall that the Julia set $J_c$ for $f_c$ is a dynamical object, and we expect it to be self-similar, ie a fractal.  By definition, if $c \in M$ then $J_c$ is connected.  When $c \notin M$ the Julia set is homeomorphic to a Cantor set.  So in some sense all of these Julia sets "look the same" and the corresponding maps $f_c$ "have similar dynamics".
On the other hand, as we move $c$ inside of $M$ we find quadratic maps $f_c$ with markedly different dynamics.  Thus, as we change $c$ we find very different looking Julia sets, each living in its own dynamical plane. Now we return to your original question: why does $M$ (a subset of parameter space) have so many different-looking regions?
The answer is deeply shocking: for many values of $c$


*

*the region of $M$ about $c$ and 

*a part of the Julia set $J_c$ 
will look the same!  (In fact, they are related by a quasi-conformal map - a homeomorphism that distorts angles by at most a bounded amount.)  The fastest way to convince yourself of this unlikely story is to zoom in to a few different points $c \in M$ and plot the resulting Julia set.  Here are some webpages that will draw both $M$ and $J_c$ at the same time. 
http://math.bu.edu/DYSYS/applets/Quadr.html
http://aleph0.clarku.edu/~djoyce/cgi-bin/expl.cgi
http://www.gingerbooth.com/flash/mandel9/mandleAS9.html
http://gingerbooth.com/coursewareCBC/mandeljulia.html
So - one answer to your question "why is $M$ so rich?" is that $M$ is reproducing the richness of the various Julia sets.  This leads to many other questions, such as "why should dynamical pictures be reproduced in parameter space?" but I think that I will stop here.
Here is the relevant part of the Wikipedia page.  The linked paper of Tan Lei "Similarity Between the Mandelbrot Set and Julia Sets" is perhaps one of the earlier results in this area. See the more recent work of Wolf Jung, as well as many others...
A: The link http://www.fractalsciencekit.com/types/classic.htm gives the basic algorithm for Mandelbrot, Julia, Newton, and Orbit Trap based fractals. While the process is very simple, the iterative nature of the process leads to very different results depending on the point on the complex plane at which you start. Since a fractal image is colored by processing each point on the complex plane to determine that points color, as you zoom in, the set of points changes, and based on the nature of the equation you are using, the image can be quite complex.
