Давненько маялся с кодом, найденный код Turbo Pascal меня не устраивал. Вчера раскопал код вычисления таблицы для zx и попробовал переписать под 320х200:
If InitSprite() And OpenWindow(0,0,0,640,400,"Spirale",#PB_Window_SystemMenu) And OpenWindowedScreen(WindowID(0),0,0,640,400,0,0,0)
StartDrawing(ScreenOutput())
amp=32*4
For y=0 To 199
For x=0 To 319
xx=x-160
yy=y-100
an=Int( 40*ATan2( xx,yy ) )
ra.a=(xx*xx+yy*yy)>>8
co.a=an+ra
co=Int(amp+(amp-1)*Sin(co*#PI/128))
;Box (x*2,y*2,2,2,RGB(co*4,0,0))
Box (x*2,y*2,2,2,RGB(co,0,0))
Next x
Next y
StopDrawing()
FlipBuffers()
Repeat
Until WindowEvent()=#PB_Event_CloseWindow
EndIf
StartDrawing(ScreenOutput())
amp=32*4
For y=0 To 199
For x=0 To 319
xx=x-160
yy=y-100
an=Int( 40*ATan2( xx,yy ) )
ra.a=(xx*xx+yy*yy)>>8
co.a=an+ra
co=Int(amp+(amp-1)*Sin(co*#PI/128))
;Box (x*2,y*2,2,2,RGB(co*4,0,0))
Box (x*2,y*2,2,2,RGB(co,0,0))
Next x
Next y
StopDrawing()
FlipBuffers()
Repeat
Until WindowEvent()=#PB_Event_CloseWindow
EndIf
Комментарии
Отправить комментарий