 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 13.01.2007, 02:15 Titel: OpenGL - Lissajous Figur |
|
|
Hi,
ich habe mich gerade mal wieder mit OpenGL beschäftigt und konnte das Programm 'Lissajous-Figur auf einem virtuellen Oszilloskop' anpassen.
Auch erstaunliche schnell, ohne besondere Trixereien anwenden zu müssen.
Code: | /' gl_Lissajous.bas (2) - by Volta - 12.01.2007
' test mit FB 0.16 und FB 0.17(22.12.2006) unter ME
' Lissajous-Figur auf einem virtuellen Oszilloskop
' http://de.wikipedia.org/wiki/Lissajous-Figur
'/
'OpenGL
#Include Once "GL/gl.bi"
#Include Once "GL/glu.bi"
Const degrad = Atn(1) / 45
Dim As Single v, w, m, n, s
Dim Ik As String
Dim As Integer breit, hoch, y
Screen 18, 32, , 2'mit Screen 15 - 20 getestet
Screeninfo breit, hoch
Windowtitle "OpenGL - Lissajous Figur"
'++ Konfiguration von OpenGL
glViewport (0, 0, breit, hoch)
glMatrixMode (GL_PROJECTION) ' Matrix definieren
glLoadIdentity
glOrtho (0, breit, hoch, 0,-128, 128) 'schaltet OpenGL in einen 2D-Modus
glMatrixMode (GL_MODELVIEW)
glEnable (GL_CULL_FACE) ' Deaktivierung des Rendern der Rückseiten
glCullFace (GL_BACK)
glLoadIdentity
glClearColor (0.15, 0.1, 0.0, 0.0)'leichtes Leuchten :D
glEnable (GL_DEPTH_TEST) ' Tiefentest
glDepthFunc (GL_LEQUAL)
glTranslatef (0,0,0) ' bewegt den Koordinaenursprung in den Punkt (x,y,z)
glEnable(GL_LINE_STIPPLE)
n=180 : w=90 : s=6
'++ Eigentlicher Zeichenteil
Do '++ Anzeige
glClear (GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT)
s = s -((Rnd-0.49)*.015) ' Unruhe
If Multikey(&h4B) Then s += .02 ' <- Taste
If Multikey(&h4D) Then s -= .02 ' -> Taste
'++ zeichnet die Linien
glLineStipple (1, &H0003) 'Strichabstand
For y = hoch/6 To hoch Step hoch/6
glBegin (GL_LINES)
glColor3f(1,0.69,0)
glVertex2i(0, y)
glVertex2i(breit, y)
glEnd()
Next
For y = breit/10 To breit Step breit/10
glBegin (GL_LINES)
glColor3f(1,0.69,0)
glVertex2i(y, 0)
glVertex2i(y, hoch)
glEnd()
Next
glLineStipple (1, &Hffff) 'Vollstrich
glBegin (GL_LINE_LOOP)
glColor3f(1,0.69,0)
glVertex2i(1, 1)
glVertex2i(breit-1, 1)
glVertex2i(breit-1, hoch-1)
glVertex2i(1, hoch-1)
glEnd()
For y= 0 To 359
v = Sin(y*degrad*s) *(hoch/2.05) + (hoch/2)
m = Cos(y*degrad) *(breit/2.05) +(breit/2)
glBegin (GL_LINES)
glColor3f(0.56,1,0)
glVertex2f(n, w)
glVertex2f(m, v)
glEnd()
n = m
w = v
Next
glFlush 'Verarbeitung der Befehle
Flip
'ScreenSync
Ik = Inkey ' Tastaturabfrage
If Ik = Chr(3) Then Exit Do ' wurde Ctrl+C gedrückt oder
If Ik = Chr(255,107) Then Exit Do ' wurde X (AltGr+F4) gedrückt
Loop Until Ik = Chr(27) ' oder ESC dann raus hier
End |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 13.01.2007, 11:05 Titel: |
|
|
sieht schoen aus, aber leider hab ich nicht die geringste Ahnung was Lissajous Figur ist  _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.01.2007, 13:29 Titel: |
|
|
Zitat: |
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz
|
Du solltest den Satz um die Wörter "oder bei Wikipedia" ergänzen
http://de.wikipedia.org/wiki/Lissajous-Figur
Gut gemacht  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 13.01.2007, 13:30 Titel: |
|
|
recht hasst du _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.01.2007, 13:34 Titel: |
|
|
Nein, ich hasse das Recht keineswegs
aber nun btt:
schöne darstellung  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|