[Direct3D] Dreiecke auf den Bildschirm rendern (und ihre Abmaße?)
-
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.