пятиконечная звезда

 


Иногда идея кода приходит ниоткуда и решение задачи находится нигде

If InitSprite() And OpenWindow(0,0,0,640,480,"5star",#PB_Window_SystemMenu) And OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0) 
;  #ToRad = 0.017453 
;  Repeat 
;    Sleep_(1) 
;      x+1 
;      If x>640:x=0:EndIf 
  t.f=0
  m=3
  n=5
  k=1
        StartDrawing(ScreenOutput()) 
        ;          Plot(x,Sin(x*#ToRad)*100+100,65280) 
        While t<=2*#PI
          ;              nom = np.cos((2*np.arcsin(k)+pi*m)/(2*n))
          nom.f = Cos((2*ASin(k)+#PI*m)/(2*n))
          ;    denom = np.cos((2*np.arcsin(k*np.cos(n*t))+pi*m)/(2*n))
          denom.f = Cos((2*ASin(k*Cos(n*t))+#PI*m)/(2*n))
          ;    r.append(nom/denom)
          r.f=nom/denom*120
          ;Debug r
          ;r=80
          x=Int(320+r*Cos(t))
          y=Int(240+r*Sin(t))
          Box(x,y,1,1,$FFFFFF)
          t+(0.05/2)
        Wend
        StopDrawing() 
        FlipBuffers() 
  Repeat
  Until WindowEvent()=#PB_Event_CloseWindow 
EndIf



Комментарии