Fensterkoordianten + Reaktion auf Maus/Tastatur -> OpenGL



  • gibt es denn da keine Funktion, die die Koordinaten zurückgibt?



  • Ulf schrieb:

    gibt es denn da keine Funktion, die die Koordinaten zurückgibt?

    TGGC würde jetzt sagen: Wenn Du sie schreibst, schon... 🤡



  • Wie sieht denn deine Projektionsmatrix aus? Wenn du das weisst und die z-Koordinate fest ist, dann kannst du das eigentlich ganz einfach mit Dreisatz oder den Strahlensätzen oder womit auch immer selbst ausrechnen.



  • so wie ich das verstanden hab, will er sein prog beenden, wenn die maus bewegt wird ( so wie halt jeder normale screensaver ).

    versuch duch einfach mit GetCursorPos() dir die mauskoordinaten beim start zu merken und wenn sich diese ändern das prog zu beenden!?



  • Nö, ich würde eher sagen:
    Wenn es keine spezielle Koordinate gibt, die den Rand beschreibt, gibt es auch keine Funktion, die diese Koordinate zurückgibt. Logisch, oder? 😎

    Was man im Netz aber sicher findet: fertige Schnittfunktionen Pyramide<->Kugel

    Wegen Beenden kann man ja einfach bei jeder WM_KEY... oder WM_MOUSE... machen.

    Bye, TGGC \-/



  • TGGC schrieb:

    Nö, ich würde eher sagen:
    Wenn es keine spezielle Koordinate gibt, die den Rand beschreibt, gibt es auch keine Funktion, die diese Koordinate zurückgibt. Logisch, oder? 😎

    Es gibt ja eben eine, aber nur bei gegebener Z-Koordinate... ➡ Funktionale Abhängigkeit



  • In 3D beschreibt eine Koordinate eine Ebene parallel zu zwei Achsen. Der Rand liegt aber i.A. nicht auf einer solchen, und kann daher auch nicht so beschrieben werden.

    Bye, TGGC \-/



  • Wenn ich die Z-Koordinate weiß, und diese sich für das Objekt nicht ändert (was hier der Fall ist), weiß ich auch, an welchen X/Y-Koordinaten das Objekt ans Frustrum stoßen würde...



  • Du kennst aber noch nichtmal die Z-Koordinate, da das Objekt ja ein ganzes Intervall auf der Z-achse belegt. Und auch die alle Punkte des Frustrumrandes mit einer bestimmten z-Koordinate auf die x/y Ebene projeziert ergeben i.A. kein achsenparalleles Rechteck.

    Bye, TGGC \-/



  • Eine Kugel stößt üblicherweise nur mit einem Punkt an eine Ebene. (Hatte allerdings auch Kreis in 3D im Kopf, war das ein anderer?)

    Trotzdem müsste man natürlich die Normale der Frustum-Fläche durch den Mittelpunkt legen, um die exakte Z-Koordinate zu finden.



  • die z koordinate ist konstant, also kann ich ach z.B. für mein Screensaver sagen, dass die Koordinate immer 3 ist! Oder meinetwegen 0, das ist ja egal...



  • Wenn sie 0 ist solltest Du doch direkt die X- / Y-Koordinaten übernehmen können?! Oder gleich orthografische Projektion machen...


Anmelden zum Antworten