Orientierung eines Dreiecks in 3D



  • Hallo,

    ich bin mir nicht ganz sicher ob das hier reingehört, aber ein passenderes Unterforum habe ich nicht gefunden. Also:

    ich habe ein Dreieck gegeben durch die x,y,z Koordinaten der drei Punkte.

    Wie kann ich überprüfen ob die Punkte im Uhrzeigersinn oder im Gegenuhrzeigersinn angegeben sind?

    Eigentlich will ich nur überprüfen ob sich ein Punkt (der sich auf der gleichen Ebene wie das Dreieck befindet) innerhalb des Dreiecks befindet. Die Technik einfach zu überprüfen ob alle Dreicke die sich mit dem original - Dreieck und dem Punkt bilden lassen die gleiche Orientierung haben fand ich sehr einleuchtend... wenn das mit einer anderen Technik besser geht dann bin ich natürlich auch über Alternativvorschläge erfreut 🙂



  • Normaler Weise verlaufen die Punkte in die Richtung wie du sie mit OpenGL oder Direct3D an die Grafikkarte übergibst.

    Zum Beispiel unter OpenGL mit:

    glBegin(GL_TRIANGLES);
        glVertex3f(x1, y1, z1);
        glVertex3f(x2, y2, z2);
        glVertex3f(x3, y3, z3);
    glEnd();
    

    Je nach dem in welcher Reihenfolge du 'glVertex3f' bzw. 'glVertex3d' aufrufst werden die Punkte an die Grafikkarte übergeben und gerendert.

    Aber wenn du eine genaue Methode haben willst - speziell zum Thema Ebenen und Dreiecke - könntest du das vielleicht auch im Forum "Mathematik" fragen 😉

    Mfg



  • fogman schrieb:

    Wie kann ich überprüfen ob die Punkte im Uhrzeigersinn oder im Gegenuhrzeigersinn angegeben sind?

    Gar nicht, denn das ist nicht definiert. f'`8k

    Autocogito

    Gruß, TGGC (making great games since 1992)



  • Eigentlich will ich nur überprüfen ob sich ein Punkt innerhalb des Dreiecks befindet

    Und warum interessiert Dich dann die Ausrichtung des Dreiecks?
    Point in triangle test.



  • Dann überprüf's halt wie bei ner Kollision.


Anmelden zum Antworten