Ich möchte nun, um diverse Funktionen an einem gewählten Feld auszuführen, die Koordinaten abfragen, nur: ein einfaches "Abfragequadrat" kann ich nicht rumlegen da sich sonst die Felder schneiden.
Wie könnte man das schnellstmöglich abfragen? (die Abfrage sollte möglichst nicht zu sehr bremsen) -- class God : public ChuckNorris { };Dieser Post wurde am 05.08.2004 um 11:48 Uhr von FloSoft editiert.
zum drehen nach rechts nimmst du einfach 45 Grad im Bogenmass und zum zurücktransformieren -45 Grad..... Brauchst also gar nicht erst mit sinus und cosinus rechnen sondern kannst gleich den Wurzel 2 halbe spass verwenden... -- ...fleißig wie zwei WeißbroteDieser Post wurde am 02.01.2004 um 19:35 Uhr von Windalf editiert.
dieser 45° Winkel bleibt bestehen, ich möchte nur die einzelnen Felder abfragen.
Ich könnte zwar ein Quadrat mit den Ecken auf den Mitten der 4 Seiten machen, dann werden aber immer die Ecken nicht von der Maus erfasst, was dann etwas blöd wird wenn man wegzoomt. -- class God : public ChuckNorris { };
Erfaß die Koordinaten "normal" und dreh dann den x-y-Vektor per sin/cos-Funktion um 45 Grad zurück in ein virtuelles Gitter. Darin kannst Du dann ganz normal abfragen. -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook.
hmm bin heut nicht für mathematische großta(n)ten aufgelegt, wie säh dann sowas für einen bereich aus bzw welche Koordinaten muss ich dann zum Abfragen eingeben (bzw wie mach ich das????)?
(Sorry wenn ich zurzeit so blöd durch die gegend frage ) -- class God : public ChuckNorris { };Dieser Post wurde am 02.01.2004 um 22:52 Uhr von FloSoft editiert.
@BruderLeif So hab ich das doch auch gemeint oder geht das etwa mit der Matrix nicht die ich da gepostet habe.. Ich meine das müsste gehen.... -- ...fleißig wie zwei Weißbrote
So, jetzt bin ich wieder online :-) Probier mal die Koordinatentransformation:
u = x * cos(a) + y * sin(a) v = -x * sin(a) + y * cos(a)
Mit a = Drehungswinkel (in Deinem Fall 45°) kommst Du von x/y-Koordinaten in ein u/v-System, das um eben diese a Grad gedreht ist. Damit hast Du ein "reguläres" Gitter und kannst das angeklickte Feld ermitteln... -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook.