Arc function

Bali Zoltan eltexto at freemail.hu
Mon Mar 14 21:19:13 CET 2005


Szia !

Köszi a segitséget, megpróbálom.

Üdv.  Zoli

----- Original Message -----
From: "hwsw famulus" <hwsw at famulus.hu>
To: <elektro at tesla.hu>
Sent: Monday, March 14, 2005 20:06
Subject: Re: Arc function


> > Gyors szögfügvények használatát
> > mellozo ARC(x,y,r,sa,ea) rutint
> > keresnék (640,480 fb.-ig) C-ben.
> > Ha tudna valaki ilyenrol, megköszönném.
> >
> > Üdv.   Zoli
> >
> > -----------------------------------
> >
> > Alighanem a kulcszo:
> > Bresenham circle
> >
> >
> > KJ
>
> Na, megkerestem neked a szerintem leggyorsabb
> Bresenham megvalositast..........hogy
> ne kelljen neked is napokig googlez-ni.
>
> (Igaz VB6-ban van a demo, de talan ez nem gond)
>
> Innen a tobbi nyolcadra es resz ivekre atvinni mar
> csak tukrozes es feltetel vizsgalat......
>
>
> KJ
>
> ------------------------------------------------------------------------------
> Private Sub cdKor_Click()
>
> 'korcikket rajzol a 2. nyolcadban visszafele
> 'azaz 90-45 fok kozott az adott sugarral
> 'es origo kozepponttal
>
> 'A kor sugara
> Dim R As Long
>
> Dim Hiba As Long 'hiba valtozo
> Dim X As Long
> Dim Y As Long
> Dim DU As Long 'hiba modosito, ha csak X lepett
> Dim DD As Long 'hiba modosito, ha X es Y is lepett
>
> R = 600
>
> Hiba = 1 - R
> X = 0
> Y = R
> DU = 3
> DD = 5 - (2 * R)
>
> 'kezdopont kirajzol
> Munkater.PSet (X, Y)
>
> KorCikkInterpolal:
>
> DoEvents
>
> 'Vege a 90 foktol 45 fokigtarto resznek?
> If X > Y Then
>     Exit Sub
> End If
>
> 'x mindig lep
> X = X + 1
>
> If Hiba < 0 Then
> 'az x-heztartozo felso y a jobb
> 'azaz az aktualison marad
>     Hiba = Hiba + DU
>     DU = DU + 2
>     DD = DD + 2
> Else
> 'az x-heztartozo also y a jobb
> 'azzaz y mar lephet egyet lefele
>     Y = Y - 1
>     Hiba = Hiba + DD
>     DU = DU + 2
>     DD = DD + 4
> End If
>
> 'aktualis kirajzol
> Munkater.PSet (X, Y)
> 'Debug.Print x, y
>
> GoTo KorCikkInterpolal
>
> End Sub
> -----------------------------------------------------------------------




More information about the Elektro mailing list