Anonymní profil Luboš – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Luboš – Programujte.comAnonymní profil Luboš – Programujte.com

 

Příspěvky odeslané z IP adresy 46.135.71.–

Luboš
.NET › Elipsa a rozpočítání bodů
6. 8. 2022   #390323

Ahoj.

Tento program ve VB6 jsem vytvořil před 20 lety. Už se k němu nechci moc vracet.

Místo příkazu Pset (kreslí bod) by byl vhodnější příkaz Line (maluje linku) .

Option Explicit

Private Sub Command1_Click()
Cls
Dim sx As Integer, sy As Integer
Dim x As Integer, y As Integer
Dim r As Single
Dim a As Long, s As Integer
Dim polomer1 As Integer
Dim polomer2 As Integer
Dim i As Integer
Dim radians As Single
Dim uhel1 As Single, uhel2 As Single
sx = 200
sy = 150
polomer1 = 150 'rozmery ellipsy
polomer2 = 40
Const Pi = 3.14
Rem uhel1 = 45 ' úhel pootočení ve stupních (ve směru hod.ruč.)
uhel1 = Pi - (Val(Text1.Text) * (Pi / 180) - Pi / 2)
For s = 1 To 360
  uhel1 = Pi - (s * (Pi / 180) - Pi / 2)
  Cls 'vymaže kreslící plochu
    For i = 1 To 360
      radians = i * (Pi / 180)
      x = (polomer1 * Cos(radians)) * -1
      y = (polomer2 * Sin(radians)) * -1
      PSet (x + sx, y + sy) 'maluje body původní elipsy
        r = Sqr(x ^ 2 + y ^ 2)
        If y = 0 Then
          If x > 0 Then uhel2 = Pi / 2 Else uhel2 = Pi / 2 + Pi
        Else
          uhel2 = Atn(x / y)
        End If
        If y < 0 Then uhel2 = uhel2 + Pi
        uhel2 = uhel1 + uhel2
        x = r * Cos(uhel2)
        y = r * Sin(uhel2) * -1
      PSet (x + sx, y + sy) 'maluje body pootočené elipsy
    Next i
  For a = 1 To 5000000
  Next a
DoEvents
Next s
End Sub

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý