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

Aktuelle Zeit: Fr Jul 18, 2025 15:54

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



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Feb 18, 2006 05:23 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 09, 2005 13:48
Beiträge: 117
Wohnort: Sankt Augustin
Hallo,

ich würde gerne einen Algorithmus entwickeln der zwischen konkaven und konvexen Polygonen unterscheiden kann. Soweit ich weiß, ist ein konvexes Polygon ein Polygon mit Winkeln, die 180° nicht überschreiten (oder wie ich es hier schon gefunen habe: wenn man eine Schnur drum legt, liegt diese überall an).

Nun kann man ja von Vektor zu Vektor des Polygons gehen und nachsehen ob die Richtung immer die gleiche ist (im zweidimensionalen raum). Wenn es immer rechts oder links herum geht, ist das Polygon konvex. Ist zwischendrin eine Richtungsänderung zu erkennen, muss es konkav sein.

Kann mir jemand sagen wie man das im dreidimensionalen Raum überprüfen kann?

Danke


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 18, 2006 10:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Ich würd rekursiv durch die Eckpunkte gehen, daraus Vektoren machen (also aus Punkt 1 und zwei Vektor 1 und aus Punkt 2 und 3 Vektor 2, usw) und dann per Skalarprodukt den Winkel berechnen. Dann schaust du einfach nach, ob die Summe der Winkel größer als (Summe der Punkte - 2)*180 ist.

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Danke
BeitragVerfasst: So Feb 19, 2006 05:28 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 09, 2005 13:48
Beiträge: 117
Wohnort: Sankt Augustin
gute Idee


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 19, 2006 15:12 
Offline
DGL Member

Registriert: Mi Feb 01, 2006 16:51
Beiträge: 4
du kannst dir auch die normale des polygons berechnen und das koordinatensystem ins polygon drehen. dann kannst du den 2d algorithmus verwenden ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 09, 2006 16:15 
Offline
DGL Member

Registriert: Mo Jan 16, 2006 22:00
Beiträge: 24
Was ist die Normale eine Polygons?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 09, 2006 16:41 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Die Normale ist ein Vector welcher Senkrecht auf dem Polygon steht und die Länge 1 hat.

Mehr dazu : Normale

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 10, 2006 01:08 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 05, 2005 15:08
Beiträge: 39
Wohnort: Bei Bayreuth
Meinst du mit Polygon im R3 ein FLACHES, konkaves Polygon, oder ein Dreidimensionales, NICHT flaches Polygon?
Wenn das Polygon flach ist, kannst du, wie thordk gesagt hat, einfach die 2d Variante verwenden, ist es jedoch 3d, duerfte das mit der normalen schwierig werden...

Ausserdem: Ist dein Polygon trianguliert, also zeichnest du lauter Dreiecke, oder hast du nur die Eckpunkte?
Die Triangulierte Version hat den Vorteil, das du einfach schaust, in welcher Drehrichtung die einzelnen Dreiecke definiert sind (im oder Gegen Uhrzeigersinn) und wenn eines andersrum ist, ist das Polygon konvex.

MFG gmgler

_________________
Geniale Menschen sind selten ordentlich, ordentliche selten genial (Albert Einstein)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 10, 2006 14:46 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Soweit ich das gelernt habe im Studium, dürfen Polygone für eine korrekte Darstellung in OpenGL nur konvex und eben sein. Wenn eines von beiden nicht gilt, kann man nicht garantieren, dass die Ausgabe konstant bleibt.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 10, 2006 15:03 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Wenn man statt GL_POLYGON einfach GL_TRIANGLE_FAN nimmt (wobei ich nicht genau weiß, warum es ersteres überhaupt gibt), dann kann man auch bei nicht ebenen, konkaven Polygonen noch vorhersagen, wie es aussieht. Ändert aber nichts daran, dass mans nicht machen sollte...

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 11, 2006 19:14 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@Al: Ich hab ja auch Polygone gemeint nicht dreiecke. Das ein TRIANGLE_FAN nicht in einer Ebene sein muss ist durchaus richtig.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


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


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 16 Queries | GZIP : On ]