Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 19, 2025 20:48

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Winkel zwischen Punkt und Licht..?
BeitragVerfasst: Do Jun 09, 2005 22:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

und wieder ein Mathe Problem...

Ich habe einen Punkt (Vertex + Normal) und möchte rausbekommen ob die Normal von dem Punkt in richtung Licht zeigt...

Ich hab es so versucht, aber es will nich so recht klappen...:(

Code:
  1.     n1:=v.Normal;
  2.     n2:=Calculate.SubtractVector(LightPos, v.Position);
  3.     Calculate.NormalizeVector(n1);
  4.     Calculate.NormalizeVector(n2);
  5.     dot:=Calculate.DotProduct(n1, n2);
  6.     Angle:=RadToDeg(ArcCos(Dot));
  7.     if Angle > 90 then
  8.       //Nicht sichtbar!


Hilfe... :P

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 23:04 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Code:
  1. n1:=v.Normal;
  2.     n2:=Calculate.SubtractVector(LightPos, v.Position);
  3.     Calculate.NormalizeVector(n1);
  4.     Calculate.NormalizeVector(n2);
  5.     dot:=Calculate.DotProduct(n1, n2);
  6.     Angle:=RadToDeg(ArcCos(Dot));
  7.     if Angle grösser als 90 then
  8.       //Nicht sichtbar!

Vielleicht so:
Code:
  1. n1:=v.Normal;
  2.     n2:=Calculate.SubtractVector(LightPos, v.Position);
  3.     //Calculate.NormalizeVector(n1);
  4.     //Calculate.NormalizeVector(n2);
  5.     dot:=Calculate.DotProduct(n1, n2);
  6.     //Angle:=RadToDeg(ArcCos(Dot));
  7.     if dot kleiner als 0  then
  8.       //Nicht sichtbar!


Alles unter der voraussetzung dass ich dich gut verstanden habe.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 23:13 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

klappt leider nicht.. :(

Um nochmal zu verdeutlichen was ich möchte..:

Man kann es als ganz billige schatten erzeugung sehen... Ich habe ein Triangle und will wissen ob es vom Licht angestrahlt wird. Sprich, wenn die Normal vom Triangle mehr als 90° vom Licht wegzeigt wird das Triangle schwarz...

V.Position ist in meinem beispiel oben der mittelpunkt des Triangles
V.Normal die Normal des Triangles.

Hoffe jetzt ist's ein wenig klarer geworden was ich möchte ;)

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 09, 2005 23:24 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Dann habe ich aber recht. :shock:
Denn wenn dot kleiner als 0 ist ist der winkel ( zwischen die Normal vom Triangle und (LightPos - v.Position) ) > 90.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 10, 2005 01:21 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Ook.. hast ja recht, klappt ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]