3D Terrain from scratch |
24.09.2017, 21:44 | Auf diesen Beitrag antworten » | |||||
Tommy1234 | 3D Terrain from scratch Hallo, ich versuche gerade ein 3-dimensionales Terrain aus Punkten und Linien zu erstellen. Dazu habe ich mir ein zunächst 2-dimensionales quadratisches Gitter erstellt mit den beiden diagonalen darin. Das ganze wird dann um die x-Achse gedreht und dann verschoben in die Mitte meines Fensters. So, nun beginnt der Spass. Jetzt habe ich mir den abstand vom Betrachter zum Gitter berechnet und die x-bzw y-Koordinten durch diesen Abstand geteilt. Allerdings ist das Ergebnis alles andere als zufriedenstellend. Hier mal der Code. (Die Punkt3D Klasse beinhaltet nur die Koordinaten sonst nix):
Was fehlt noch in meiner Berechnung? Das ganze soll praktisch ein in den Raum ragendes Feld werden. MfG Tommy |
|||||
|
||||||
26.09.2017, 09:21 | Auf diesen Beitrag antworten » | |||||
as_string | Ich verstehe nicht so wirklich alles... Mir sind einige Sachen aufgefallen, aber zwei Sachen wundern mich ziemlich: Die Methode abstand() berechnet den Abstand vom Ursprung (und zwar immer nur vom Ursprung, nicht sicher, ob Du das willst). Allerdings eigentlich berechnet sie den Kehrwert mal Tausend und dann auf int abgeschnitten, weil Du im Zähler eine Ganzzahl stehen hast. Aber der Abstand ist doch Wurzel aus der Quadratsumme und nicht der Kehrwert, das verstehe ich nicht so ganz... Dann gehen Deine for-Schleifen für x und y immer bis zu breite/hoehe minus scale. Das kann ja schon einheitenmäßig nicht stimmen. Das eine ist ne Länge, das andere eine reine Zahl. Du musst entweder multiplizieren oder teilen, aber plus/minus kann nicht stimmen. Ansonsten ist mir vieles weitere auch unklar. Z. B. definierst Du viele Methoden, die nie verwendet werden. z. B. auch translate, wo Du dann aber Graphics::translate() vernwedest. Gruß Marco |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |