Dragon Curve

 

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):

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.