Chaos Game

 

Занялся старым алгоритмом, но забыл, как код реализован. Несколько проб и получилась картинка:

Dim x(4)
Dim y(4)

If OpenWindow(0, 0, 0, 400, 400, "chaosgame", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  CanvasGadget(0, 0, 0, 400, 400)
  If StartDrawing(CanvasOutput(0))
    Box (0,0,400,400,0)
    DrawingMode(#PB_2DDrawing_Outlined )
For i=0 To 4
  x(i)=180*Cos((54+i*72)*#PI/180)
  y(i)=180*Sin((54+i*72)*#PI/180)
  Circle(x(i)+200,y(i)+200,5,$FF00)
Next i
    StopDrawing()
  EndIf
  x=200
  y=200
  RandomSeed(12345)
  Repeat
    Event = WindowEvent()
    If StartDrawing(CanvasOutput(0))
      i=Random(4,0)
      x=(x+x(i))/2.5
      y=(y+y(i))/2.5
      Box(x+200,y+200,1,1,255)
      StopDrawing()
    EndIf         
  Until Event = #PB_Event_CloseWindow
EndIf

Картинка может меняться, если изменить  делитель 2.5 на 2 или 3

Комментарии