Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

3D-Tutorial
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 20.04.2008, 16:26    Titel: 3D-Tutorial Antworten mit Zitat

Hallo!

Kennt jemand ein gutes 3D-Tut für besonders bescheurte? Also ich meine so eins wo alles ganz genau beschrieben ist.

Danke schon mal...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Heizi



Anmeldungsdatum: 19.01.2005
Beiträge: 309

BeitragVerfasst am: 20.04.2008, 16:34    Titel: Antworten mit Zitat

unter www.qbasic.de -> Tutorials
findest du eins von Mario Zechner, dass hab ich mir auch mal angeschaut.
Dort werden vor allem die mathematischen Grundlagen erklärt.
Dann geht es noch um eine Sternenfeld Simulation glaub ich(oder war das ein anderes Tut???) ich hoffe ich konnte dir weiterhelfen
MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Caran



Anmeldungsdatum: 11.03.2007
Beiträge: 290
Wohnort: Lörrach

BeitragVerfasst am: 20.04.2008, 16:49    Titel: Antworten mit Zitat

Schau doch mal im Examples Ordner und GL\ damit hab ich das auch teilweise lernen können. Ansonsten gibts noch das http://wiki.delphigl.com/index.php/Hauptseite. Daher beziehe ich immer öfters Informationen, rund um OpenGL. Allerdings muss man sagen, dass auch hier nicht alles soo gut geschildert ist.

MfG Caran
_________________
Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 20.04.2008, 18:14    Titel: Antworten mit Zitat

Danke...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 21.04.2008, 20:30    Titel: Antworten mit Zitat

falls du was von Visual C++ verstehst (oder es zumindest soweit kapierst um es auf Freebasic umzusetzen), dann solltest du diese Seite mal besuchen: nehe.gamedev.net
es gibt auch deutsche übersetzungen davon, einfach mal googlen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 22.04.2008, 14:24    Titel: Antworten mit Zitat

Und wozu muss man da unbedingt direkt was von Visual C++ verstehen? Warum sollten rudimentäre C++-Kenntnisse nicht schon reichen? Zunge rausstrecken
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 22.04.2008, 14:29    Titel: Antworten mit Zitat

http://www.activevb.de/tutorials/index-tutorials.html

Hier gibts es gute Tutorials .... Zwar für Visual Basic, aber das ist leicht zu FB portierbar, da es fast Kompatibel ist. Hier werden auch DX sowie OGL erklärt.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 10.06.2008, 18:23    Titel: Antworten mit Zitat

Ich habe noch eine Frage:
Ich habe einen Weltraumsimulator geschrieben. Bis jetzt sind da halt nur Sterne die auf einen zufliegen aber ich wollte Fragen wie mit der Kamera lenken kann (also z.B. in X Richtung drehen). Also das funktioniert schon, nur wenn ich nach links lenke, kommen die Sterne von der Seite aus mich zu. Wie muss man das schreiben das sie von Vorne kommen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 10.06.2008, 18:41    Titel: Antworten mit Zitat

Achnee, hat sich schon erledigt.
Dafür habe ich jetzt eine andere Frage: Wenn ich die Kamera und z.B. 45 grad nach x drehe und dann vorwärts fliegen möchte, wie berechnet man das?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 10.06.2008, 18:49    Titel: Antworten mit Zitat

Code:

'---BEWEGUNG---
With TViewPos
    '--- Vor/Zurück
    .X = .X + VR_View_Pos_Change.Z * Cos(VR_View_Winkel.X / PIx180)
    .Z = .Z + VR_View_Pos_Change.Z * Sin(VR_View_Winkel.X / PIx180)
    '--- Links/Rechts
    .X = .X + VR_View_Pos_Change.X * Cos((VR_View_Winkel.X - 90) / PIx180)
    .Z = .Z + VR_View_Pos_Change.X * Sin((VR_View_Winkel.X - 90) / PIx180)
    '--- Hoch/Runter
    .Y = VR_View_Pos_Change.Y * 0.1 '(VR_View_Winkel.Z * 0.05)
End With



MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 10.06.2008, 19:51    Titel: Antworten mit Zitat

Und noch etwas:
Mein Weltraum soll sozusagen eine Kugel sein. Jetzt soll er einen Stern irgentwo inmitten der Kugel setzen. Vorher hatte ich einen Würfel, da sah es so aus:
Code:
Function NeuerStern () As Punkt3DType
 Dim nStern As Punkt3DType
 nStern.XPos = Rnd * Raum.XGroesse + -(Rnd * Raum.XGroesse)
 nStern.YPos = Rnd * Raum.YGroesse + -(Rnd * Raum.YGroesse)
 nStern.ZPos = Rnd * Raum.ZGroesse + -(Rnd * Raum.ZGroesse)
 Return nStern
End Function

Nur wie macht man das in einer Kugel?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Caran



Anmeldungsdatum: 11.03.2007
Beiträge: 290
Wohnort: Lörrach

BeitragVerfasst am: 10.06.2008, 21:47    Titel: Antworten mit Zitat

Ich denk das hier löst das Problem
Code:

Function NeuerStern () As Punkt3DType
 Dim nStern As Punkt3DType
 nStern.XPos = rnd()*Radius_Kugel
 nStern.YPos = rnd()*Radius_Kugel
 nStern.ZPos = rnd()*Radius_Kugel
 Return nStern
End Function

Grüße, Caran
_________________
Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 11.06.2008, 15:47    Titel: Antworten mit Zitat

Aber das geht auch nicht.
Wenn z.B. der Kugelradius = 100 ist und das Programm würfelt X = 100, Y = 100 und Z = 100, dann ist dieser Punkt außerhalb der Kugel...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 11.06.2008, 20:51    Titel: Antworten mit Zitat

Hallo

Ich denke, am eifachsten ist es, wenn du beim Festlegen der zufälligen Sternpositionen prüfst, ob der Punkt innerhalb der Kugel liegt. Außerdem musst du den Radius mal zwei nehmen und dann den Radius abziehen, damit du auf einen Wertebereich von -radius bis +radius kommst, sonst wird nur ein 1/8 der Kugel mit Sternen gefüllt. Also immer nur in positiver x,y und z-Richtung.

Also ungefähr so:

Code:
DO
 x(stern) = RND * 2 * radius - radius
 y(stern) = RND * 2 * radius - radius
 z(stern) = RND * 2 * radius - radius
 d = SQR(x(stern) ^ 2 + y(stern) ^ 2 + z(stern) ^ 2)
LOOP WHILE d > radius


Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 12.06.2008, 18:49    Titel: Antworten mit Zitat

Danke das geht.
Und wieder ne Frage: wie kann man berechnen, ob ein Stern, vom Betrachter aus gesehen, sichtbar ist (Also im Bild ist)?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 12.06.2008, 21:27    Titel: Antworten mit Zitat

Indem man die Winkel berechnet, den die (gedachte) Verbindungslinie vom Stern zum Betrachter in der Horizontalen und Vertikalen zur Blickrichtung einnimmt. Ab einer bestimmten Abweichung nach oben oder unten bzw. zur Seite, liegt der Stern außerhalb des Sichtfeldes.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 13.06.2008, 13:22    Titel: Antworten mit Zitat

Ja, das ist mir schon klar, nur (1) wie berechne ich den Winkel und (2) Wie groß muss der Winkel sein?
Bei der konvertierung von 3D zu 2D, habe ich eine Zahl (Fokus) und damit muss man bestimmt irgentwie den Winkel berechnen oder?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
max06



Anmeldungsdatum: 05.12.2004
Beiträge: 390
Wohnort: Augsburg

BeitragVerfasst am: 14.06.2008, 14:26    Titel: Antworten mit Zitat

Warum löst du das ganze nicht mit OpenGL? lächeln

Ich habe mir auch zuerst das Tutorial von qbasic.at angesehen und in FB umgesetzt. Doch wollte ich das ganze mit einer etwas ansprechenderen Bibliothek umsetzen und gleichzeitig die Chance nutzen, OGL zu lernen und zu verstehen.

Rausgekommen ist dabei das hier lächeln

Code gibts auf Anfrage Zunge rausstrecken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 14.06.2008, 19:15    Titel: Antworten mit Zitat

Ja, aber ich bin jetzt schon so weit mit meinem "Starfield".
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 18.06.2008, 11:38    Titel: Antworten mit Zitat

Hallo

Zum berechnen der Winkel würde ich so machen. Zuerst das Raumschiff zum Zentrum deines Universums machen, indem man die Schiffskoordinaten von den Sternkoordinaten abzieht. Dann kann man mit der ATN-Funktion diese neuen, kartesischen Sternkoordinaten in polare mit dem Betrachter als Nullpunkt umwandeln.

Umrechnung kartesisch zu polar

Zu diesen Winkeln muss man dann die Winkel, die die Blickrichtung hat, addieren. Ist das Raumschiff und damit die Blickrichtung z.B. genau nach hinten gedreht, müsste man zum horizontalen Winkel eben 180° bzw. PI dazuzählen. Sieht man genau nach oben, dan 90° oder PI/2 zum vertikalen.

Nun kann man auch eine Auswahl treffen, welche Sterne noch im Sichtfeld liegen. Welche Winkel du da zulässt, kann ich nicht genau sagen, ich kenne mich mit 3-D-Grafik nicht aus. Vielleicht gibt es da Regeln oder Festlegungen. Laut Wikipedia beträgt das menschliche Sichtfeld ca. 170° in der Horizontalen, aber du kannst ja auch ne "Weitwinkelkamera" benutzen und die zulässigen vertikalen Winkel hängen dann wieder von den Seitenverhältnissen des Bildschirmfensters ab.

Liegt ein Stern im Sichtbereich, wandelst du dessen polare wieder in kartesische Koordinaten um und kannst ihn dann zeichnen.

Umwandlung polare in kartesische Koordinaten

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
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.

 Impressum :: Datenschutz