Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

19.03.2009, 21:21

Zitat von »"defaultplayer^^

Jap, das macht bei mir entweder TriBase oder D3DX.

naja, aber was macht ihr, wenn ihr sachen machen wollt, die über die fähigkeiten von TriBase/D3DX hinausgehen, ohne (eventl. langsame) wrapping-klassen zu schreiben ;)
Ok, für den Anfang reichts, wenn man weiß, was die funktionen erreichen (ich habs auch erst nach nem Jahr verstanden), aber irgendwann sollte man schon durch die dahinterstehende Mathematik durchblicken, was imo so schwer nicht ist.

idontknow

unregistriert

12

21.03.2009, 00:28

naja, ich versteh z.B. den Sinn macnher Rechnungen von Matrizen/Vectoren nicht...
Das will mir einfach nich in den Kopf,, für was man da bestimmte Rechnungen der Tribase brauchen sollte....

Jevermeister

Treue Seele

Beiträge: 130

Wohnort: Bremerhaven

Beruf: Student

  • Private Nachricht senden

13

21.03.2009, 02:52

Lies doch bitte das Buch mal intensiv durch.

Matrizen bzw Vektoren sind die Grundlagen jeglicher dreidimensionaler Darstellung auf deinem Rechner, die musst du auf jeden Fall können!

Das ist keineswegs kompliziert oder nur mit Taschenrechnern zu lösen, sondern einfachste Mathematik, sofern du das Prinzip verstanden hast.

Wozu du exakt Matrizen oder Vektoren brauchst, wird im Buch genaustens beschrieben. Wonach richtest du deine Kamera aus, wie errechnest du Ebenen und so weiter und so fort.

Der Stoff ist im Buch direkt am Anfang, weil der Rest des Buches darauf aufbaut. Überlies das Kapitel also bitte nicht einfach, sondern übe!

Du wirst es sowieso für dein Abitur brauchen.

idontknow

unregistriert

14

21.03.2009, 10:59

Das versteh ich ja, aber für was Kreuzprodukt und Punktprodukt oder wie es hieß gut sein soll raffe ich einfach nicht...

Wozu Matrixen/Vektoren zu gebruachen sind weiß ich ja, aber das Verständnis mit Projektions/Sichtmatrix fehlt leider immernoch und trotz intensiven Lesens des gesamten Kapitels versteh ich es einfach nicht :(...

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

15

21.03.2009, 11:09

Vielleicht solltest du dir zu den ganzen Sachen auch mal noch wo anders, beispielsweise Wikipedia oder so etwas dazu durchlesen, denn im Buch werden soweit ich mich erinnere (hab vor einiger zeit mal angefangen damit, aber irgendwie keine zeit mehr gehabt) ja grundkenntnise aus der schule vorausgesetzt, welche du nicht hast...
Mit dem Kreuzprodukt kannst du z.B. zu zwei Vektoren einen dritten orthogonal zu beiden stehenden berechnen. Mit dem Skalarprodukt (Punktprodukt) den Winkel zwischen zwei Vektoren.

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

16

21.03.2009, 11:23

Zitat von »"idontknow"«

Das versteh ich ja, aber für was Kreuzprodukt und Punktprodukt oder wie es hieß gut sein soll raffe ich einfach nicht...

Wozu Matrixen/Vektoren zu gebruachen sind weiß ich ja, aber das Verständnis mit Projektions/Sichtmatrix fehlt leider immernoch und trotz intensiven Lesens des gesamten Kapitels versteh ich es einfach nicht :(...


Mal einfach ausgedrückt:

Vektor: ein Zahlenwert kombiniert mit einer zugehörigen Richtung.

Kreuzprodukt: gibt dir nen Vektor der auf den beiden Ausgangsvektoren senkrecht steht. Der Ergebnisvektor hat die Länge des Produktes der beiden Ausgangsvektoren

Punktprodukt: gibt dir den Cosinuswert des Winkels zwischen den beiden Vektoren. Aber nur wenn beide Vektoren die Länge 1 haben.

Matrix: Man nehme einen Ausgangsvektor und wandelt ihn nach einer mathematischen Vorschrift in einen Ergebnisvektor um (z.B. von einem Koordinatensystem in ein anderes). Diese mathematische Vorschrift kann man meistens als Multiplikation mit einer Matrix beschreiben.

Das ist im Grunde alles. WARUM das so ist ist eine andere Sache, die dich nicht interessieren braucht, wenn du nicht irgendwann mal etwas technisches studieren möchtest.

Gruß Marius

idontknow

unregistriert

17

21.03.2009, 11:44

ok erstmal danke!

Aber das mit dem Vector normaliesieren habe ich auch noch nicht so ganz kapiert... Wenn ich den normaliesiere verändere ich dann nicht die Vectorposition? also die Werte x, y, z?

Das mit dem Winkel macht jetzt durchaus Sinn :D Danke!

Kreuzprodukt raffe ich immer noch nicht :x.
+Wie muss man sidch das vorstellen, ein Vector de rauf 2 anderen senkrecht steht? Und was BRINGT mir das?

Sorry, aber ich bin in sowas nicht so gut -.-
Ich kann mir das einfach nicht vorstellen und macht für mich keinen Sinn irgendwie.....

Asmodiel

Treue Seele

Beiträge: 150

Wohnort: Schweiz

Beruf: Applikationsentwickler

  • Private Nachricht senden

18

21.03.2009, 12:08

Zitat von »"idontknow"«

Aber das mit dem Vector normaliesieren habe ich auch noch nicht so ganz kapiert... Wenn ich den normaliesiere verändere ich dann nicht die Vectorposition? also die Werte x, y, z?


Natürlich. Normalen verwendest Du auch nicht für Positionen, sondern normalerweise für Richtungen. Vergiss nicht, dass Vektoren nicht nur Positionen darstellen können. Richtungsvektoren haben normalerweise eine Länge von 1, und beim Normalisieren eines Vektors werden die Werte x, y und z eben so verändert, dass die Länge des Vektors 1 wird.

Zitat


Kreuzprodukt raffe ich immer noch nicht :x.
+Wie muss man sidch das vorstellen, ein Vector de rauf 2 anderen senkrecht steht? Und was BRINGT mir das?


Das wird Du schon irgendwann noch brauchen, wenn Du solch einen
Vektor benötigst. Denke da spontan an Normalen/Tangenten/Binormalen und so'n Zeug.
Eat a beaver - Save a tree.

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

19

21.03.2009, 12:13

Das Normalisieren verändert die x, y, z Werte, das ist richtig. Jedoch bleibt die Richtung die selbe, nur die Länge des Vektors ändert sich (auf 1, was der Sinn des Normalisierens ist). Der Vektor (2, 2, 2) hat ja die selbe Richtung wie (3, 3, 3), auch wenn die x, y, z Werte unterschiedlich sind.

Das mit dem Vektorprodukt (Kreuzprodukt) hat einen sehr wichtigen Zweck. Als kleines Alltagsbeispiel:

Du hast einen Tisch. Einen Tisch kann man als Ebene darstellen, dazu braucht man 2 Vektoren. Wenn du jetzt in einem Programm eine Flasche auf den Tisch stellen möchtest, sollte diese ja Senkrecht auf dem Tisch stehen.
Genau für sowas brauchst du das Kreuzprodukt. Damit kannst du errechnen welcher Vektor senkrecht zu den beiden Vektoren des Tisches steht.

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

20

21.03.2009, 12:38

Zitat von »"idontknow"«


Kreuzprodukt raffe ich immer noch nicht :x.
+Wie muss man sidch das vorstellen, ein Vector de rauf 2 anderen senkrecht steht?


Du hast zwei Vektoren die irgendwie im Raum liegen. Jetzt suchst du einen Vektor der sowohl mit dem einen, als auch mit dem anderen, einen Winkel von 90° einschließt. Diesen Vektor kriegst du durch das Kreuzprodukt.

Werbeanzeige