Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
58
Task/Mandelbrot-set/PureBasic/mandelbrot-set.basic
Normal file
58
Task/Mandelbrot-set/PureBasic/mandelbrot-set.basic
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
EnableExplicit
|
||||
|
||||
#Window1 = 0
|
||||
#Image1 = 0
|
||||
#ImgGadget = 0
|
||||
|
||||
#max_iteration = 64
|
||||
#width = 800
|
||||
#height = 600
|
||||
Define.d x0 ,y0 ,xtemp ,cr, ci
|
||||
Define.i i, n, x, y ,Event ,color
|
||||
|
||||
Dim Color.l (255)
|
||||
For n = 0 To 63
|
||||
Color( 0 + n ) = RGB( n*4+128, 4 * n, 0 )
|
||||
Color( 64 + n ) = RGB( 64, 255, 4 * n )
|
||||
Color( 128 + n ) = RGB( 64, 255 - 4 * n , 255 )
|
||||
Color( 192 + n ) = RGB( 64, 0, 255 - 4 * n )
|
||||
Next
|
||||
|
||||
If OpenWindow(#Window1, 0, 0, #width, #height, "'Mandelbrot set' PureBasic Example", #PB_Window_SystemMenu )
|
||||
If CreateImage(#Image1, #width, #height)
|
||||
ImageGadget(#ImgGadget, 0, 0, #width, #height, ImageID(#Image1))
|
||||
For y.i = 1 To #height -1
|
||||
StartDrawing(ImageOutput(#Image1))
|
||||
For x.i = 1 To #width -1
|
||||
x0 = 0
|
||||
y0 = 0;
|
||||
cr = (x / #width)*2.5 -2
|
||||
ci = (y / #height)*2.5 -1.25
|
||||
i = 0
|
||||
While (x0*x0 + y0*y0 <= 4.0) And i < #max_iteration
|
||||
i +1
|
||||
xtemp = x0*x0 - y0*y0 + cr
|
||||
y0 = 2*x0*y0 + ci
|
||||
x0 = xtemp
|
||||
Wend
|
||||
If i >= #max_iteration
|
||||
Plot(x, y, 0 )
|
||||
Else
|
||||
Plot(x, y, Color(i & 255))
|
||||
EndIf
|
||||
|
||||
Next
|
||||
StopDrawing()
|
||||
SetGadgetState(#ImgGadget, ImageID(#Image1))
|
||||
Repeat
|
||||
Event = WindowEvent()
|
||||
If Event = #PB_Event_CloseWindow
|
||||
End
|
||||
EndIf
|
||||
Until Event = 0
|
||||
Next
|
||||
EndIf
|
||||
Repeat
|
||||
Event = WaitWindowEvent()
|
||||
Until Event = #PB_Event_CloseWindow
|
||||
EndIf
|
||||
Loading…
Add table
Add a link
Reference in a new issue