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

GrimmDominik

Frischling

  • »GrimmDominik« ist der Autor dieses Themas

Beiträge: 51

Wohnort: Plattling/Bayern

Beruf: Schüler

  • Private Nachricht senden

1

18.03.2004, 09:57

Normalvektoren

Hallo!

Mal ne blöde Frage!
Ich habe zwar schon ein paar kleinere Programme geschrieben welche mir 3D-Objekte im Raum darstellen und Rendern!
Jedoch ist mir bis jetzt noch nicht klar für was Normalvektoren eigentlich gut sind und welche Funktion sie haben! Hab sie bis jetzt immer nur übernommen ohne ihren geneuen Verwendungszweck zu wissen!

Wäre cool wenn mir mal jemand mehr über diese Vektoren erzählen kann!

MFG

Dominik

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

2

18.03.2004, 10:44

Um die richtung zum Licht zu berechnen.

Wenn der Normalenvektor über 90 Grad zum Licht steht ist die Fläche schwarz.

Andere Verwendungszwecke kenne ich auch nicht
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

Anonymous

unregistriert

3

18.03.2004, 13:51

Normalenvektoren

Grundsätzlich gibt der Normalenvektor an, in welche Richtung eine Ebenen- bzw. Dreiecksoberfläche zeigt.

Wenn du also einen Bleistift auf eine Tischplatte stellst (mit der Spitze nach oben), dann ist der Bleistift der Normalenvektor der Tischplatte.

Hältst du jetzt z.B. eine Taschenlampe senkrecht in Richtung Tischplatte, dann geht das von der Tischplatte reflektierte Licht wieder in Richtung Taschenlampe zurück. Würde sich eine Kamera in der Taschenlampe befinden, dann würde die Tischplatte sehr hell erscheinen. Hältst du die Taschenlampe jedoch schräg in Richtung Tischplatte, dann ist klar das nicht das gesamt reflektierte Licht in Richtung Taschenlampe zurück geht. Dadurch erscheint die Tischplatte auch nicht so hell.

Mathematisch kann das mit dem Cosinus berechnet werden. Im Fall senkrechte Taschenlampe ist der Winkel zwischen dem Richttungsvektor der Taschenlampe und dem Normalenvektor 180°. Der Cosinus von 180° ist -1. Da es sich um eine Reflektion handelt und das Licht zurück geht muss auch der Cosinus mit -1 multipliziert werden. Also kommt 1 raus.
Leuchtest du jetzt im schrägen Winkel zur Tischplatte, z.B. 45° kommt 0.7... als Wert raus. Somit ist die Fläche schon dunkler. Wenn der Winkel wie schon oben gesagt 90° beträgt, d.h die Taschenlampe parallel zur Tischplatte leuchtet, dann wird kein Licht reflektiert. Der Cosinus von 90° ist 0!

Neben der Beleuchtung wird der Normalenvektor auch bei Kollisionsberechnungen benötigt, insbesondere für das Gleiten entlang von Dreiecken bei einer Kollision.

4

18.03.2004, 14:13

Man kann den Normalenvektor auch für die eine oder andere Physikalische Aufgbe benutzen. Wenn du z.B. die Abprallrichtung eines Objektes von z.B. einer Wand bestimmen willst.

Vor kurzem hatten wir hier einen Thread dazu.


Ein anderer Verwendungszweck wäre z.B. wenn du mal eine komplette einfache Grafikpipeline aufbauen willst und das Backface Culling haben willst, kannst du mit Hilfe des Normalenvektors bestimmen ob man die Rückseite oder die Vorderseite des Dreieckes siehst.

Kurz, den Normalenvektor kann man für die verschiedensten Aufgaben benutzen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

GrimmDominik

Frischling

  • »GrimmDominik« ist der Autor dieses Themas

Beiträge: 51

Wohnort: Plattling/Bayern

Beruf: Schüler

  • Private Nachricht senden

5

18.03.2004, 15:20

Danke für die schnelle Hilfe!

Werbeanzeige