Il y a quand même des trucs pas mal en peu de lignes. Comme celui ci par exemple de NicTheQuick.
Code : Tout sélectionner
w=600:h=600:Define.d a,b,c,d,e,n,o,p,r,t,x,y,z,q:If OpenWindow(0,0,0,w,h,"Supe"+
"rformel",#PB_Window_MaximizeGadget):CanvasGadget(0,0,0,w,h):Macro s(a):Sin(t*a)
EndMacro:l=999:Repeat:f=WindowWidth(0):g=WindowHeight(0):t=ElapsedMilliseconds()
v=WaitWindowEvent(10):If f!w|g!h:w=f:h=g:ResizeGadget(0,0,0,w,h):ElseIf t>u+20+
0 And StartDrawing(CanvasOutput(0)):If q<0:j=m:m=2+2*Random(20):q=1:EndIf:u=t
t/10000:q-0.005:c=10+9*s(2):d=9+9*s(3):a=Abs(s(7)*0.6)+0.1:b=Abs(s(11)*0.6)+0.1
e=9+9*s(5):GrabDrawingImage(0,0,0,w,h):x=150+100*s(1):y=Cos(t*9):n=w/2*(1+y)
DrawAlphaImage(ImageID(0),w*y/x,h*s(9)/x,99):DrawingMode(#PB_2DDrawing_Gradient)
o=h/2*(1+s(9)):LinearGradient(n,o,w-n,h-o):Macro k(a,b,c,d,e=127):a#Color(RGB(0+
e*(1+s(b)),e*(1+s(c)),e*(1+s(d)))):EndMacro:k(Front,2,3,5):k(Back,7,11,13)
Macro z(m):Pow(Pow(Abs(Cos(m*r/4)/a),d)+Pow(Abs(Sin(m*r/4)/b),e),1/c):EndMacro
For i=0 To l:r=i*2*#PI/l:p+s(1)/30000:z=q*z(j)+(1-q)*z(m):x=w/2*(Cos(r+p)/z+1)
y=h/2*(1+0.8*Sin(r+p)/z):If i:LineXY(n,o,x,y):EndIf:n=x:o=y:Circle(x,y,h*Bool(0+
i%(l/20)=0)/70/z):Next:StopDrawing():EndIf:Until v=#PB_Event_CloseWindow:EndIf