Juu. Tämmösenpä tässä tekaisin. Käyttää siniä ja kosinia spiraalin luomiseen. HUOM! Jos ympyrä luodaan For-loopilla (0 to 359) jossa lasketaan jokaiselle kulmalle x- ja y-arvot sinillä ja kosinilla kertoen ne halutulla säteellä, tässä luupataan vaikka kuinka pitempään ja säde kasvaa hiljalleen!
Äkkiäpä joku tästä varmaan vetäisee pyörivän version.
EDIT: sini ja kosini taulukoitu.
EDIT2: ... ku eipäs ookkaa.
Const pi As Double = 3.14159265358979 Private Sub Form_Load() Me.ScaleMode = vbPixels Me.AutoRedraw = True Me.Width = 512 * Screen.TwipsPerPixelX Me.Height = 512 * Screen.TwipsPerPixelY Me.Caption = "Spiraali by KoTW" Me.Show DoEvents PiirraSpiraali End Sub Private Sub PiirraSpiraali() ' Itse spiraalin piirto Dim sade As Double Dim x As Single, y As Single Dim prevx As Single, prevy As Single Dim sine(359) As Single, cosine(359) As Single Dim i As Integer prevx = 256: prevy = 256 ' Eli previous x ja previous y For i = 0 To 359 sine(i) = Sin(degtorad(i)) cosine(i) = Cos(degtorad(i)) Next i ' taulukoidaan sinit ja kosinit, kun TGunner niin vaati For ang = 0 To degtorad(360 * 5) Step degtorad(1) x = (cosine(degtorad(ang)) * sade) + 256 y = (sine(degtorad(ang)) * sade) + 256 Line (prevx, prevy)-(x, y) prevx = x prevy = y sade = sade + 0.1 a = Timer + 1 Next ang End Sub Private Function degtorad(deg As Double) As Double degtorad = deg * pi / 180 End Function
Nyt ne trigonometriset funktiot omiin taulukkoihinsa!
Kelpaako nyt? Mitä vielä haluaisitte?
(e ole enää)
Aihe on jo aika vanha, joten et voi enää vastata siihen.