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

1

04.05.2008, 16:06

Normalenvector vol.2

Hallo Forum!

Ich dachte mir ich greife nochmal das thema des Normalenvectors auf. Ich hab es eigentlich so weit verstanden, nur leider hänge ich beim Normaliziern fest. Ich benutze dafür diese DX Funktion: "D3DXVECTOR3NORMALIZE". Wenn ich das nun kompiliere, dann sagt der Debugger, das die Funktion nicht gefunden werden konnte! Weiß jemand warum? Oder lautet der Befehl anders?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

04.05.2008, 16:21

Ich weiss ja nicht, wo du diesen Mist her hast, aber in der DX Doku steht das:

Quellcode

1
2
3
4
D3DXVECTOR3 * D3DXVec3Normalize(
  D3DXVECTOR3 * pOut,
  CONST D3DXVECTOR3 * pV
);


Btw:

Das ist KEIN Befehl, sondern eine FUNKTION!

3

04.05.2008, 16:28

Hmm, man kann doch acuh bestimmt selber Normalizieren oder? Wie funktioniert das, bzw wie ist die Formel?

4

04.05.2008, 16:33

normalisieren schreibt man im Deutschen mit s ;-)
Ansonsten, wenn du nur einen Vector auf die Länge 1 bringen willst, das ist trivial. Du teilst ihn durch siene eigene Länge (d.h. mit Pythagoras berechnest du die Länge und teilst jede Komponente durch diesen Wert).

Wenn du Normalvektoren berechnen willst, das ist auch nicht schwer, das geht mit dem Kreuprodukt, bzw. Punktprodukt (ich vergesse imemr, was was macht :D).
Lieber dumm fragen, als dumm bleiben!

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

5

04.05.2008, 16:35

Zitat von »"Dustin Braun"«

Hmm, man kann doch acuh bestimmt selber Normalizieren oder? Wie funktioniert das, bzw wie ist die Formel?


Was meinst du mit "selber"?!

Du kannst auch eine eigene Funktion schreiben, die dir den Vektor durch seinen Betrag teilt.
http://de.wikipedia.org/wiki/Einheitsvektor

6

04.05.2008, 16:41

Ja ich meine es selber mit einer eigenen Formel zu berechnen. Also, das Kreuzprodukt wird so berechnet oder? :

faceA = a - b;
faceB = c - b;

a,b und c dind die eckpunkte des Dreiecks. und face a und face b sind dann demnach die normalen richtig? Nicht das ich da was falsch verstanden habe xD

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

7

04.05.2008, 16:44

Zitat von »"Dustin Braun"«

Ja ich meine es selber mit einer eigenen Formel zu berechnen. Also, das Kreuzprodukt wird so berechnet oder? :

faceA = a - b;
faceB = c - b;

a,b und c dind die eckpunkte des Dreiecks. und face a und face b sind dann demnach die normalen richtig? Nicht das ich da was falsch verstanden habe xD


Das ist Kreuzfalsch.. ;)

http://de.wikipedia.org/wiki/Kreuzprodukt

8

04.05.2008, 16:47

ja die Wiki Seiten helfen mir nicht weiter :( Da steht schon alles was man braucht, aber ich verstehe es nicht. Zum beispiel das Sinus, wird etwa sinus im kruzprodukt angewendet? Könnte mir das einer von euch erklären?

9

04.05.2008, 16:56

Da steht bei Komponentenweiser Berechnung die Formel.
Den Zwischenschritt musst du nicht verstehen, in Wikipedia ist eben alles mathematisch korrekt beschrieben, und nicht als Rechenanleitung für Ungebildete (-> Leute die nicht Mathe studiert haben, also fast alle :D )
Lieber dumm fragen, als dumm bleiben!

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

10

04.05.2008, 16:59

Was gibt es da zu Missverstehen?

http://upload.wikimedia.org/math/0/b/8/0b8d52ed22923b216d3dcc6f3d8fb044.png

Wenn du einfach den Vektor willst, brauchst du nix mit Sinus zu machen.

Das ist eine Alternative Berechnung.

Werbeanzeige