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

Aktuelle Zeit: Fr Mär 29, 2024 10:29

Foren-Übersicht » Programmierung » Mathematik-Forum
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Ray<->Triangle Culling
BeitragVerfasst: Sa Feb 26, 2011 16:57 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
Hallo,

Ich habe eine kleine Frage zu diesem Algorithmus hier: http://www.cs.virginia.edu/~gfx/Courses ... ection.pdf

Es geht darum, den Schnitt von Dreieck und Strahl zu bestimmen. Der Algorithmus bietet die Möglichkeit des Cullings.
Es funktioniert alles wunderbar, das einzige Problem ist, dass das Culling "falsch" herum ist. Auf den Grafiken sieht man, dass die Dreiecke dort entgegen den Uhrzeigersinn angegeben sind, wie es durchaus üblich ist. Wenn ich jetzt allerdings diesen Algorithmus nachvollziehe, stelle ich fest, dass gerade diese Dreiecke rausfallen.

Nehmen wir mal ein einfaches Dreieck:
Code:
       2
     +
    /  \
 e2 /    \
  /       \
0+---------+ 1
      e1

Nehmen wir an, e1 sei (1,0,0) und e2 sei (1,1,0).
Weiterhin sei die Richtung des Strahls dir = (0,0,1).
Dann ist pvec = dir x e2 = (-1, 1, 0).
Daraus folgt, dass det = e1 * pvec = -1

Da -1 aber immer kleiner ist als epsilon (0<=epsilon<<1), fällt dieses Dreieck raus.
Nun lässt sich leicht überlegen, dass wenn man die Reihenfolge vertauscht (sprich Angaben im Uhrzeigersinn), alles tadellos funktioniert.

Wo liegt nun der Fehler? Habe ich eine falsche Annahme gemacht, oder ist bei denen Vorn anders definiert?

Gruß,
Seth


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Ray<->Triangle Culling
BeitragVerfasst: Sa Feb 26, 2011 20:53 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
Wo liegt nun der Fehler? Habe ich eine falsche Annahme gemacht, oder ist bei denen Vorn anders definiert?

Die Angabe "Uhrzeigersinn" ist abhängig vom Koordinatensystem. Dieses kann rechtshändig oder linkshändig sein.
http://de.wikipedia.org/wiki/Koordinate ... tensysteme

(Ich habe mir den Algo nicht genauer angeschaut...ich vermute mal es liegt daran...)

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Ray<->Triangle Culling
BeitragVerfasst: Sa Feb 26, 2011 21:51 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
Auf den Grafiken in dem Paper ist ein Links-händiges Koordinatensystem dargestellt, wie ich es auch verwende. Ich könnte natürlich einfach v1 und v2 vertauschen, aber das ist ja nicht Sinn der Sache, denn eigentlich soll es nämlich genau so gehen.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 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.072s | 17 Queries | GZIP : On ]