Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Schwingende Membran

Uploader:RedakteurVolta
Datum/Zeit:07.06.2008 22:04:34

'=========================================================================
' Schwingende Membran
' MEMBRAN.BAS
' Autor: Lothar Schirm
' Letzte Ueberarbeitung 11.03.08
'=========================================================================

#Include "3D-GRAPH.BAS"

Dim As Single pi, dx, dy, dt, t, x(50), y(50), z(50, 50)
Dim As Integer p, q, i, j

'SCREEN 0
Screen 12
Color 7, 1
Cls
Print "Programm MEMBRAN zeichnet die Schwingungen einer quadratischen "
Print "Membran mit der Kantenlaenge 1:"
Print
Print "z = sin(p * pi * x ) * sin(q * pi * y) * sin(2 * pi * f * t)."
Print "pi = 3.141593, p und q ganze Zahlen."
Locate 29, 1: Print "Weiter: Beliebige Taste!"
Sleep

Color 0, 15
Cls
Window(-0.5, -0.8) - (1.2, 0.5)

pi = 3.141593
dx = 0.02
dy = 0.02
dt = 0.1

Do
  Locate 1, 1:Print "Gib fuer p und q ganze Zahlen ein (p = 0 zum Beenden):"
  Input "p = ", p
  If p = 0 Then End
  Input "q = ", q
  t = 0
  Do
    ScreenLock
    Cls
    Locate 29, 1: Print "Beenden: Beliebige Taste!"
    t = t + dt
    For i = 0 To 50
      x(i) = i * dx
      For j = 0 To 50
        y(j) = j * dy
        z(i, j) = 0.05 * Sin(p * pi * x(i)) * Sin(q * pi * y(j)) * Sin(t)
      Next j
    Next i
    xyzGraphik(x(), y(), z(), 50, 50, -20, 20, 4, 0)
    ScreenUnlock
    For i = 1 To 5 '~dt Zeitverzögerung
      ScreenSync
    Next
  Loop Until InKey <> ""
Loop