Gelöst: Koordinaten bei Draw3D
Übersicht

![]() |
M0rgensternBetreff: Gelöst: Koordinaten bei Draw3D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Entschuldigung, wenn ich so blöde Fragen zu Draw3D stelle. Aber ich komm mit den Koordinaten noch nicht ganz klar. Ich habe für mein Spiel die Auflösung 1024*768 gewählt. Aber ich versteh jetzt erhrlich gesagt nicht, wie das ganze aufgeteilt ist in Draw3D. Ist der Nullpunkt jetzt in der Bildschirmmitte oder wo? Und wie ist das aufgeteilt mit den Koordinaten? wo ist die Y-Koordinate negativ, bzw wo die X-Koordinate? Ich will eigentlich nur eine Begrenzung für mein Spielfeld einbauen, dass der Spieler nicht rauslaufen kann. Aber ich versteh das Koordinatensystem nicht. Wäre wirklich nett wenn mir das mal jemand erklären könnte... Lg, M0rgenstern |
||
- Zuletzt bearbeitet von M0rgenstern am Fr, Sep 25, 2009 20:34, insgesamt einmal bearbeitet
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Links oben: -512 | -384
Rechts unten: 512 | 384 Mitte: 0 | 0 Es gibt aber auch eine Draw3D-Version, in der Links oben 0|0 ist. |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich mache es mir immer ganz einfach, die X/Y-Koordinate der linken oberen Ecke specihere ich mir in 2 Variablen und addiere bei den Objekten immer diese Koordinaten hinzu.
Ist zwar ein wenig mehr schreibarbeit, aber finde ich übersichtlicher |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Nicdel
Iczh hab jetzt mal rumprobiert... Bei mir ist es so: Links unten: -512 | -384 Rechts oben: 512 | 384 Mitte 0|0 Also ist der negative Y-Breich unten und der negative X-Breich links. Liegt das vllt an der neuen Draw3D Version (ich glaub ich hab 3.2) oder hab ich mich vertan oder so? Lg, M0rgenstern Edit: Beziehungsweise: Warum Funktioniert folgender Code dann nicht? (Also ich kann mich nur auf der Y-Achse nach links und rechts bewegen) Code: [AUSKLAPPEN] If Spieler\Px# >= 490 Then Spieler\Px# = Spieler\PAltx#
If Spieler\Px# <= -490 Then Spieler\Px# = Spieler\PAltx# If SPieler\Py# >= 450 Then Spieler\Py# = Spieler\PAlty# If Spieler\Py# >= -350 Then Spieler\Py# = Spieler\PAlty# Lg, M0rgenstern |
||
- Zuletzt bearbeitet von M0rgenstern am Fr, Sep 25, 2009 20:31, insgesamt einmal bearbeitet
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann auch sein, vllt. hab ich micht auch vertan... | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey.
So Sorry. Ist alles geklärt. Hatte nen Zeichendreher und nen Zahlendreher drin. So muss es aussehen: Code: [AUSKLAPPEN] If Spieler\Px# >= 490 Then Spieler\Px# = Spieler\PAltx#
If Spieler\Px# <= -490 Then Spieler\Px# = Spieler\PAltx# If SPieler\Py# >= 350 Then Spieler\Py# = Spieler\PAlty# If Spieler\Py# <= -350 Then Spieler\Py# = Spieler\PAlty# Lg, M0rgenstern |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Als Frage in den Raum gestellt... Ist es wirklich so umständlich der mittlere Koordinatenursprung, oder ist es nur die Macht der Gewöhnung? Ich frage, weil anscheinend immer wieder Leute echte Probleme damit haben. Ich zum Beispiel hab mich sehr schnell daran gewöhnt. Wenn es wirklich so ein Problem ist, dann lässt sich dieser mit relativ einfachen Mitteln beheben, indem man das Bezugspivot in der X-Achse um 180° dreht und das ganze dann um die hälfte der Bildschirmauflösung nach links/oben verschiebt. Dann noch ein paar Variablenänderungen für die Buttons etc. machen den Rest.
Der einzige Grund warum ich es nicht generell eingebaut habe ist, dass ich es zumindest so besser finde. Schon allein weil die neue Draw3D2 ein etwas anderen Grundaufbau hat wo der Mittelbezug zumindest etwas deutlicher wird. Was mir vorschwebt ist, dass man es dann über eine Konstante =0/1 steuern könnte. Das würde aber auch bedeuten, dass der Rechenaufwand für bestimmte Sachen etwas größer wird. Als Frage in den Raum gestellt... |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das der Ursprung in der Mitte liegt ist meiner Meinung nach völlig in Ordnung. Auch ich habe mich schnell daran gewöhnt ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich finde, wenn man das System einmal durchschaut hat, dann ist es relativ einfach.
Ich habs jetzt verstanden. Und warum umständlich alles umstellen, wenn man sich so schnell dran gewöhnt. Also ich finds okay. Lg, M0rgenstern |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich verstand nie, warum der Ursprung in der Mitte liegt ![]() Die Umgewöhnung fand ich doch sehr extrem, zumal ja Mauskoordinaten etc. ja von links oben ausgehen. Klar gibt es dafür Variablen wie MouseX3D, allerdings stellt sich mir doch die Frage, warum der Ursprung überhaupt in der Mitte liegt? Bisherige Routinen muss man komplett umschreiben, damit sie mit dem neuen System zurechtkommen und leider geht es so nicht, einen bisherigen 2D-Code durch einfaches Abändern der Funktionsnamen auf 3D zu konvertieren, sondern es muss überall die Koordinatenberechnung neu gemacht werden. Es mag sein, dass man sich irgendwann dran gewöhnt, allerdings könnte genausogut jemand noch eine andere Lib für Physik/Grafikeffekte/Wasauchimmer machen, wo der Ursprung dann rechts unten liegt und die positive X-Achse nach links zeigt - man gewöhnt sich ja dran. Ich möchte dich deshalb darum bitten, in der nächsten Version das normale Koordinatensystem doch wenigstens optional zu machen - die verkehrten Achse und der versetzte Ursprung haben mir damals den letzten Nerv geraubt, als ich noch mit der Draw3D arbeitete und sind auch die Gründe, weshalb ich sie heute nicht mehr benutze ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Noobody hat Folgendes geschrieben: die verkehrten Achse und der versetzte Ursprung haben mir damals den letzten Nerv geraubt, als ich noch mit der Draw3D arbeitete und sind auch die Gründe, weshalb ich sie heute nicht mehr benutze
![]() der grund warum ich mit draw3d nie mehr als 2 kleine testprogramme geschrieben hab |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja ''verkehrt'' ist definitiv der falsche Ausdruck als Aussage. Schon allein deshalb, weil die Draw3D das gleiche Koordinatensystem nutzt wie das in der Schule mit einem Geodreieck. Ich behaupte mal grundsätzlich das die Koordinaten eines Rechners falsch sind, da sie nur den einen Urunsinn haben, das die Anfänge der Programmierung nicht auf Grafikebene sondern mit Textzeilen begonnen wurde. Text liest sich halt so. Und als dann Später Grafikelemente hinzugekommen sind, hat man es einfach so gelassen statt es ''richtig'' zu machen. Nun, als dann die Rechner auch mit 3D umgehen können, hat man den Salat, nämlich ein Mischmasch aus 2D=links/oben+gespiegelter Y-Achse und 3D=Mitte mit richtiger Y-Achse.
Alles sehr suspekt. ![]() Da die Draw3D ja nicht kostenpflichtig ist, hab ich natürlich nur ein gemässigtes Interesse einer perfekten Draw3D. Dennoch hab ich es mir nun zum Ziel gesetzt die Draw3D2 mithilfe einer Konstante 0/1 umschaltbar zu machen. Viele Sachen lassen sich sehr leicht umstellen. Doch ob dann das ganze Funktionsspektrum 100%ig umschaltbar wird, bleibt abzuwarten. ![]() - Danke für die Infos. Zur Zeit 2:2 sollte klar sein. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
hectic hat Folgendes geschrieben: Ich behaupte mal grundsätzlich das die Koordinaten eines Rechners falsch sind
Damit hast du grundsätzlich recht, wobei es eben wieder eine Sache der Gewöhnung ist - Programmierer arbeiten seit jeher mit diesem Koordinatensystem und sind auch sehr damit vertraut, daher fällt der Umstieg auf ein anderes System wiederum schwer. hectic hat Folgendes geschrieben: Da die Draw3D ja nicht kostenpflichtig ist, hab ich natürlich nur ein gemässigtes Interesse einer perfekten Draw3D
Das ist dein gutes Recht ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bin für die mitte. So für die Statistik.
Habe in 3D immer mit der Mitte gearbeitet. Niemand hat jemals behauptet, dass Convert 2D->D3D mal eben möglich sein sollte... gerade weil die D3D noch Anforderungen hat, wie Quadratische 2^x Bilder, die Anforderungen von 3D halt. Habe irgendwann aus der umwandlung von Mousex zu Mousex3d ne funktion Get3DY und Get3DX gemacht und konnte mir damit für solche Konvertierungen Arbeit sparen. Konstante.... naja werde wohl keinen aufhalten können. |
||
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich weiß nicht.
Da wir in der Schule grade wieder mit dem KoSy arbeiten, bin ich momentan relativ gut damit vertraut (ganzrationale Funktionen... gebrochen rationale Funktionen etc...^^). Und wenn ich mir das einfach vorstelle, dann ist das ja total einfach. SChön, dass du das erwähnt hast hectic. Also, als ich am Anfang angefangen habe zu programmieren, Hab ich mich doch sehr an das "für mich) neue KoSy gewöhnen müssen (im Gegensatz zur Schule wars ja doch sehr ungewöhlich). Von daher ist das KoSy von Draw3D eigentlich umgänglicher. Aber es ist gut zu wissen, dass du einfach dieses KoSy als Vorlage genommen hast. Jetzt versteh ich auch alles^^ Lg, M0rgenstern |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group