[Direct3D] Dreiecke auf den Bildschirm rendern (und ihre Abmaße?)
-
Mei, ich weiß ja das meiste was ich brauche (Matrizen etc.), nur wollte ich halt wissen wie sich der Abstand zwischen zwei Vertices (;)) berechnet wenn ich obige Funktion benutze usw.
-
FireYourGuns schrieb:
nur wollte ich halt wissen wie sich der Abstand zwischen zwei Vertices (;)) berechnet wenn ich obige Funktion benutze usw.
Die Frage verstehe ich nicht ganz. Du kannst doch den Abstand zwischen zwei Punkten mit dem Satz des Pythagoras berechnen! Ob die Punkte nun zu einem Dreieck zusammengesetzt werden oder nicht, spielt für den Abstand doch keine Rolle.
-
FireYourGuns schrieb:
Muss man denn immer gleich so runtergemacht werden
TomasRiker schrieb:
Sorry, aber diese Frage zeigt eigentlich nur, dass Du von den Direct3D-Grundlagen noch überhaupt keine Ahnung hast...
Vertexwahn schrieb:
TomasRiker hätte es zwar netter formulieren können - aber er hat recht
Wie bitte hätte er es denn *NOCH* netter formulieren können!?!?
Jetzt mal im Ernst: TomasRiker gehört hier jawohl zu den "netteren" Leuten (obwohl er es sich leisten könnte, arrogant zu sein), und er hat sich auch hier wieder halbwegs "höflich" ausgedrückt - im Vergleich zu den meisten anderen Leuten (mich eingeschlossen)...
Und wer keine konstruktive Kritik verträgt, sollte besser nicht in einem (diesem??) Forum posten...
Is' ja nun keine Schande...
Immerhin hat sich der Fragesteller auch vernünftig ausgedrückt...
-
TomasRiker schrieb:
FireYourGuns schrieb:
nur wollte ich halt wissen wie sich der Abstand zwischen zwei Vertices (;)) berechnet wenn ich obige Funktion benutze usw.
Die Frage verstehe ich nicht ganz. Du kannst doch den Abstand zwischen zwei Punkten mit dem Satz des Pythagoras berechnen! Ob die Punkte nun zu einem Dreieck zusammengesetzt werden oder nicht, spielt für den Abstand doch keine Rolle.
Hmm, mal schauen wie ich meine Frage verständlich formulieren kann...
Also, mein D3D-Dreieck sieht wie folgt aus:
DreieckSo, die Stecke zwischen A und B ist unschwer zu erkennen 2. So und hier kommt meine Frage in's Spiel. 2 was? Pixel, können es ja kaum sein. Wenn ich jetzt den Z-Wert des Dreiecks ändere wird es nätürlich größer bzw. kleiner. Der Abstand zwischen A und B bleibt aber 2. Also irgendwo muss ja in meiner Sicht das Koordinaten fixiert sein, nur wo? Bei Z = 0?
Ich glaub meine Frage ist immer noch nicht ganz verständlich, aber ich bin nicht so gut im Erklären
Edit: OK, C und B sind in dem Bild vertauscht, aber das ist ja egal.
-
FireYourGuns schrieb:
So, die Stecke zwischen A und B ist unschwer zu erkennen 2.. So und hier kommt meine Frage in's Spiel. 2 was?
Wurzeln, ist doch klar.
Schau dir doch erstmal Pathagoras an, dann evtl. nochmal D3D. Echt nicht böse gemeint, aber so bringt das glaube ich nichts!
-
TGGC schrieb:
FireYourGuns schrieb:
So, die Stecke zwischen A und B ist unschwer zu erkennen 2.. So und hier kommt meine Frage in's Spiel. 2 was?
Wurzeln, ist doch klar.
Schau dir doch erstmal Pathagoras an, dann evtl. nochmal D3D. Echt nicht böse gemeint, aber so bringt das glaube ich nichts!
Ne sorry, wieso soll ich mir bitte Pythagoras angucken? Es geht mir doch nur ... ach ich geb's auf, ich kann das nicht erklären was ich wissen will
-
FireYourGuns schrieb:
So, die Stecke zwischen A und B ist unschwer zu erkennen 2. So und hier kommt meine Frage in's Spiel. 2 was? Pixel, können es ja kaum sein. Wenn ich jetzt den Z-Wert des Dreiecks ändere wird es nätürlich größer bzw. kleiner. Der Abstand zwischen A und B bleibt aber 2. Also irgendwo muss ja in meiner Sicht das Koordinaten fixiert sein, nur wo? Bei Z = 0?
Du scheinst echt ein grundsätzliches Problem zu haben...
Software ist nunmal nichts greifbares, ist nur imaginär.
Entsprechend sind Deine Einheiten auch imaginär.Du hast ein Koordinatensystem (mit 3 Achsen), daß lediglich in Deinem Kopf existiert... und halt in Deinem Code.
Wenn ich das Dreieck dort verschiebe, dann verschiebe ich es nicht in Pixeln, nicht in Zentimetern, und nicht in Atom-Radien...
Es ist einfach eine "Einheit"... nenn sie wie Du willst.
Völlig abstrakt. Völlig imaginär.Erst durch die Projektion auf den Bildschirm (die Leinwand, whatever) bekommt es eine Größe. Deswegen ist es ja auch net so einfach - einfach mal so - dieses imaginäre Koordinatensystem auf Deine festen 1024x768 (z.B.) zu projezieren...
Wenn Du also ein Auto in 3D modellierst (da steckt das Wort MODELL drin), kann rapso das Dingen um den Faktor 2 vergrößert in *seinem* Koordinatensystem modelliert haben, trotzdem können beide beim Betrachter gleich erscheinen. Die Projektionsmatrix, bzw. Z-Koords machen's möglich. Denn erst dort wird Dein abstraktes virtuelles Etwas auf eine reale sichtbare Fläche (den Bildschirm) projeziert...
Das geht im realen Leben nicht. Da ist ein cm ein cm ein cm...
-
Tja, da hast du vollkommen Recht, damit hab ich im Moment ein kleines Problem. Und deshalb stellte ich ja auch die Frage, um mein Problem zu lösen
Und ob du es glaubst oder nicht, so eine Antwort wie von dir wollte ich bekommen. Auch wenn mir das leider nicht sehr viel weiter hilft (außer gedanklich, da hilft es ne menge).
Kann man den den Abstand der zwei Punkte nicht mit irgendeiner Formel in Pixel umrechnen (wenn man ein paar Sachen mit einbezieht, wie z.B. die Z-Achse)?
Hintergrund:
Ich will meinen Hintergrund mit Quadraten (logischerweise bestehend aus zwei Dreiecken) überziehen, die Quadrate sollen dann als Texturträger dienen. Allerdings "tu" ich mir da sehr schwer wenn ich nicht weiß wie ich das Quadrat genau in die linke obere oder untere Ecke setzen kann, da die Koordinaten keine Einheit besitzen.Ich hoffe das erklärt mein Problem recht gut.
-
FireYourGuns schrieb:
Tja, da hast du vollkommen Recht, damit hab ich im Moment ein kleines Problem. Und deshalb stellte ich ja auch die Frage, um mein Problem zu lösen
Das hab' ich mir fast gedacht...
Und ob du es glaubst oder nicht, so eine Antwort wie von dir wollte ich bekommen.
Das glaub' ich. Sonst hätt' ich lieber noch was geflamewart...
Auch wenn mir das leider nicht sehr viel weiter hilft (außer gedanklich, da hilft es ne menge).
Das wiederum kann ich nicht verstehen. Die Frage "2 was?" dürfte doch beantwortet sein...
Kann man den den Abstand der zwei Punkte nicht mit irgendeiner Formel in Pixel umrechnen (wenn man ein paar Sachen mit einbezieht, wie z.B. die Z-Achse)?
Klar kann man das. Immerhin immerhin machen wir hier Informatik und nicht Sozialpädagogik.
Alles läuft nach streng mathematischen Gesetzen ab... naja, zumindest fast... *g*
Was Du suchst, ist 2D-Darstellung über eine 3D-API (denk' ich). Da gab's auch schon was zu hier im Forum. Mal suchen.
Du mußt halt auf einer Ebene vor Deiner Kamera alles mappen.
-
FireYourGuns schrieb:
Ne sorry, wieso soll ich mir bitte Pythagoras angucken?
Weil du behauptest B und C sind vertauscht.
-
TGGC schrieb:
FireYourGuns schrieb:
Ne sorry, wieso soll ich mir bitte Pythagoras angucken?
Weil du behauptest B und C sind vertauscht.
Waaaaaaa, ich flipp noch aus, wieso passieren mir immer so dumme Fehler
Ich hatte gerade nen Denkfehler drin. Die Punkte eines Dreiecks werden ja gegen den Uhrzeigersinn benannt. Und dass stimmt ja bei dem Dreieck, hab da vorhin falsch gedacht als ich das geschrieben habe.
Allerdings währe nach dem Satz von Phytagoras a² + b² = c² das Bild tatsächlich falsch
...wenn man es mal ganz penibel nimmt...
-
FireYourGuns schrieb:
Hintergrund:
Ich will meinen Hintergrund mit Quadraten (logischerweise bestehend aus zwei Dreiecken) überziehen, die Quadrate sollen dann als Texturträger dienen. Allerdings "tu" ich mir da sehr schwer wenn ich nicht weiß wie ich das Quadrat genau in die linke obere oder untere Ecke setzen kann, da die Koordinaten keine Einheit besitzen.Dann nimm doch einfach vortransformierte Vertizen. (Warum behält jeder solche "Details" immer für sich?)
-
TGGC schrieb:
FireYourGuns schrieb:
Hintergrund:
Ich will meinen Hintergrund mit Quadraten (logischerweise bestehend aus zwei Dreiecken) überziehen, die Quadrate sollen dann als Texturträger dienen. Allerdings "tu" ich mir da sehr schwer wenn ich nicht weiß wie ich das Quadrat genau in die linke obere oder untere Ecke setzen kann, da die Koordinaten keine Einheit besitzen.Dann nimm doch einfach vortransformierte Vertizen. (Warum behält jeder solche "Details" immer für sich?)
Hmm, du willst mir nicht kurz erklären was das ist oder? In Googlen finde ich nämlich leider nichts darüber
-
FireYourGuns schrieb:
Hmm, du willst mir nicht kurz erklären was das ist oder? In Googlen finde ich nämlich leider nichts darüber
http://www.google.de/search?q=transformed+vertex&ie=UTF-8&oe=UTF-8&hl=de&meta=
-
TGGC schrieb:
FireYourGuns schrieb:
Hmm, du willst mir nicht kurz erklären was das ist oder? In Googlen finde ich nämlich leider nichts darüber
http://www.google.de/search?q=transformed+vertex&ie=UTF-8&oe=UTF-8&hl=de&meta=
Aha, Vertizen = Vertices...wieder was dazu gelernt...danke
-
Ahhhhhhhhhhhhh, ok, mit den vortransformierten Vertices bin ich genau da wo ich hin wollte...danke
-
FireYourGuns schrieb:
mit den vortransformierten Vertices bin ich genau da wo ich hin wollte
Und das ohne einen Schritt zu gehen.
-
TGGC schrieb:
FireYourGuns schrieb:
mit den vortransformierten Vertices bin ich genau da wo ich hin wollte
Und das ohne einen Schritt zu gehen.