Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika Fox w Dyskusje

Autorytet

w Dyskusje

1piorunów

Moze mi ktoś wyjaśnić jak ten kod rysuje okrąg bo nie mogę normalnie tego objąć umysłem :confused:

"
Sub Lcd_circle(byval X As Word , Byval Y As Word , Byval Radius As Integer , Byval Color As Word)
Local X0 As Word , Y0 As Word , Error As Integer
Local Xp As Word , Yp As Word , Xe As Word , Ye As Word

Error = -radius
Xp = Radius
Yp = 0

While Xp >= Yp
 X0 = X + Xp : Y0 = Y + Yp
 Call Lcd_set_pixel(x0 , Y0 , Color)
 X0 = X - Xp : Y0 = Y + Yp
 Call Lcd_set_pixel(x0 , Y0 , Color)
 X0 = X + Xp : Y0 = Y - Yp
 Call Lcd_set_pixel(x0 , Y0 , Color)
 X0 = X - Xp : Y0 = Y - Yp
 Call Lcd_set_pixel(x0 , Y0 , Color)

X0 = X + Yp : Y0 = Y + Xp
 Call Lcd_set_pixel(x0 , Y0 , Color)
 X0 = X - Yp : Y0 = Y + Xp
 Call Lcd_set_pixel(x0 , Y0 , Color)
 X0 = X + Yp : Y0 = Y - Xp
 Call Lcd_set_pixel(x0 , Y0 , Color)
 X0 = X - Yp : Y0 = Y - Xp
 Call Lcd_set_pixel(x0 , Y0 , Color)
  Error = Error + Yp
   Incr Yp
   Error = Error + Yp

If Error >= 0 Then
     Decr Xp
     Error = Error - Xp
     Error = Error - Xp
   End If
Wend
>End Sub"
>
>

Komentarze (5)

Fanatyk0piorunów

@Fox piksel po pikselu

Fanatyk2piorunów

@Fox btw: z jakiegoś powodu youtube zasugerował mi poniższy film. Tam algorytm jest nieco inny, ale również opiera się na rysowaniu pikseli na wycinku okręgu (1/8), z którego potem odbijana jest reszta.
https://www.youtube.com/watch?v=hpiILbMkF9w

The Midpoint Circle Algorithm Explained Step by StepAuf YouTube findest du die angesagtesten Videos und Tracks. Außerdem kannst du eigene Inhalte hochladen und mit Freunden oder gleich der ganzen Welt teilen.YouTube
Fanatyk2piorunów

@Fox ale po co to? Zobacz, że tam wszystkie współrzędne są wartościami całkowitymi, więc chodzi zapewne o wyświetlenie pikselowatego okręgu na jakimś wyświetlaczu o małej rozdzielczości.