This has been generated with the following Euler/Python lines. As a matter of fact, Python does not help very much here. The main lag is due to the plot command.
>function python ... $import math; $x,y = 0,0 $vx=[x] $vy=[y] $ $def fd (delta,alpha): $ global x,y,vx,vy $ x=x+delta*math.cos(alpha*math.pi/180) $ y=y+delta*math.sin(alpha*math.pi/180) $ vx.append(x) $ vy.append(y) $ $def dragonrek (delta,alpha,n,left): $ if n==0: $ fd(delta,alpha) $ else: $ signum=2*left-1 $ dragonrek(delta/math.sqrt(2),alpha+signum*45,n-1,False) $ dragonrek(delta/math.sqrt(2),alpha-signum*45,n-1,True) $ $def dragon (n): $ global x,y,vx,vy; $ x,y=-1,0 $ vx=[x] $ vy=[y] $ dragonrek(2.0,0,n,False) $ return [vx,vy] $ $endfunction >v=py$dragon(12); ... >fullwindow(); ... >plot2d(v[1],v[2],a=-1.7,b=1.5,c=-2,d=1.2,grid=0):