Simple Mandelbrot generator using Python

I was looking for a programming language for beginners, that I could teach to my little sister — something different from Basic, which is a bit outdated. I finally looked at Python, and I wrote a small Fractal generator for testing purpose. As I didn’t found a simple example on the Internet, I give my version here.

It is only a simple example, which generate the Mandelbrot fractal. At first, no zoom, no colors — I implemented that later, but here is the first and simplest version. And it works on Mac and Windows, of course.

Simple Mandelbrot fractal using
Python

And here is the code :

[python]from Tkinter import *# Global variablescwidth = 300         # Width of the canvascheight = 300        # Height of the canvasloops = 200          # Maximum number of iterations# Mandelbrot function# cv : canvas# x1, y1 : coordinates of the uper left point of the window# x2, y2 : coordinates of the bottom right point of the windowdef mandel(cv, x1, y1, x2, y2):    # Compute the x and y increment    dx = float(abs(x2 - x1)) / cwidth    dy = float(abs(y2 - y1)) / cheight        # Let's start the maths    y = y1    for j in range(0, cheight):        x = x1        for i in range(0, cwidth):                        x = x + dx            c = complex(x, y)            a = 0            # Core loop : x = x^2 + c, loop n times,            # and see if the number escape from a circle centered on 0            for k in range(0, loops):                a = a*a + c                if abs(a) > 4:                    break                        # Draw a plot if we didn't escape the loop            if k == (loops - 1):                cv.create_line(i, j, i, j + 1)                    y = y - dy        cv.update()# Create window and canvasroot = Tk()c = Canvas(root,width = cwidth, height = cheight)c.pack()# Draw the Mandelbrot fractalmandel(c, -2, 2, 2, -2)# Run event looproot.mainloop()

Next week we’ll see how to add some colors and zoom support without hassle.

Synchronisation iCal / Google Calendar

Logo iCalSi vous gérez votre emploi du temps avec Google Calendar, vous seriez peut-être content de pouvoir utiliser également l’excellent iCal sous Mac, en synchronisant les deux. Pour récupérer les agendas Google dans iCal, pas de soucis : une simple URL à copier dans iCal suffit. Mais que faire quand on veut également envoyer les événements iCal vers Google Calendar ?

Deux solutions existent : premièrement, l’excellent Spanning Sync, qui est simple, bien fait, fonctionne comme il faut… et cher, 65$ environ. Mais si vous geekez un peu, il existe un petit utilitaire en Java qui peut faire le même travail, gratuitement : GCALDaemon. L’installation est un peu délicate, mais un bon tutoriel décrit la marche à suivre, bien mieux que ne le fait le site officiel. Cela fonction parfaitement chez moi — le pied :)

Installer GCALDaemon sous Mac OS X

Edit: A noter toutefois que suite à des changements dans la gestion des calendriers par iCal, ce tutoriel n’est pas compatible avec Leopard. Mais ce n’est pas très grave, puisque l’on peut désormais se passer de GCALDaemon en utilisant directement la synchronisation CalDAV mise en place par Google :)

De retour

De retour après deux semaines de vacances — une dans le désert marocain, et une dans le Midi, hehey. Et le désert, c’est beau. Très.

Edit: j’ai mis en ligne quelques photos.

Transaharienne

Je pars ce soir pour une semaine dans le Sahara - je posterai sûrement quelques photos au retour.

PS: Les commentaires sont désactivés pendant la semaine, pour cause de vague de spam difficile à contenir.

Une application avec Flex - II

Cette chronique raconte mon expérience de développement d’une application avec AIR/Flex.
Billets précédents :
Une application avec Flex - I

Hallo hallo !