Touch Position in einem Radius abfragen?

08/02/2014 15:45 TeraTroll#1
Guten Tag liebe Community,
nach längerer Zeit melde ich mich mal wieder mit einer Frage(Wie auch sonst :P),
ich möchte gerne auf meinem Smartphone die Touch Position abfragen bzw. ob ich in einen festgelegten Radius geklickt habe. Wie könnte ich dass anstellen? Mein einziges Problem liegt beim Radius.

MfG Joshi
08/02/2014 15:59 Requi#2
Gibt ja bestimmt ein onTouch Event und dort fragst du einfach die Positionen ab. Musste halt mit Mathe Klassen arbeiten.
08/02/2014 16:14 TeraTroll#3
Ja das onTouch Event ist mir bekannt und auch die Abfrage der X-/Y-Koordinate, jedoch weiß ich nicht wie ich abfrage ob in einem bestimmten Radius getippt wurde.

PS: Danke für die schnelle Antwort =)
08/02/2014 16:49 strubelz#4
Math.sqrt(Math.pow(Math.max(MX, X) - Math.min (MX, X), 2) + Math.pow(Math.max(MY, Y) - Math.min(MY, Y), 2));
MX = Mittelpunkt x
MY = Mittelpunkt y
X = Touch x
Y = Touch y
Ergebnisse ist der Abstand der Tipposition zum Mittelpunkt.

Ist übrigens der Satz des Pythagoras.
08/02/2014 17:13 TeraTroll#5
Ich glaube ich habe ich unverständlich ausgedrückt :O tut mir leid....
Ich meinte es etwa so
Ich möchte abfragen ob irgendwo im Bereich des schwarzen Kreises "getouched" wurde.

Mfg Joshi =))

[Only registered and activated users can see links. Click Here To Register...]
08/02/2014 17:29 strubelz#6
Das hab ich dir doch gezeigt, du musst nur abfragen ob die Distanz (siehe meinen Post) kleiner als der Radius ist.
08/02/2014 17:33 tolio#7
^ yep

weil zwei punkte bilden immer eine linie, mit der länge dieser kannst du genau das anstellen was du machen willst

das wurzel ziehen kannst du dir sogar sparen wenn du einfach die gesuchte länge quadriest, könnte unter umständen bei der performance nen unterschied machen
08/02/2014 17:35 TeraTroll#8
Ahhhh jetzt habe ich es verstanden, ^^ tut mir leid ich hatte es so verstanden dass sie mir zeigen wollen wie ich die Distanz zwischen zwei Punkten errechne.(weswegen ich noch verwirrter war, da ich dafür eine andere Formel benutzt hätte =D)

Vielen dank =)

MfG Joshi
08/02/2014 17:42 strubelz#9
Du errechnest ja auch die Distanz zwischen zwei Punkten ^^
08/03/2014 14:57 TeraTroll#10
Ja haha aber ich hatte nicht daran gedacht eine Abfrage der Distanz zu erstellen :P
08/03/2014 20:40 Schlüsselbein#11
Nächstes mal einfach ganz altmodisch ein Blatt Papier hernehmen, Achsenkreuz drauf und selber machen.

Btw gehts noch kürzer (Syntax einfach mal kopiert):
Math.sqrt(Math.pow(MX-X, 2) + Math.pow(MY-Y, 2));
08/03/2014 21:06 strubelz#12
Stimmt, Minus mal Minus ergibt Plus, ich war wohl etwas verwirrt als ich das geschrieben habe :)
12/31/2014 17:04 TeraTroll#13
Guten Tag ich bin es mal wieder, ich habe lange nichts mehr in Richtung (Hobby-)programmieren gemacht und bin stark aus der Übung.
Ich melde mich wieder da ich fragen wollte, wie ich denn die selbe Abfrage innerhalb eines Quadrats machen kann, oder sollte ich die selbe Abfrage nehmen, nur mit der Länge vom Mittelpunkt bis zu einer der Seitenwände(Ecke wäre ja zu lang..)?

MfG Joshi
12/31/2014 18:19 Schlüsselbein#14
Einfach prüfen ob |x| und |y| kleiner gleich a/2 sind wobei a deine Kantenlänge ist und der Mittelpunkt deines Quadrats im Ursprung liegt.

Btw kommen hier üble Erinnerungen an den Satz über implizite Funktionen hoch.
12/31/2014 19:36 TeraTroll#15
Quote:
Btw kommen hier üble Erinnerungen an den Satz über implizite Funktionen hoch.
O.o *schluck*

Was bitte? =D ich bin in der 11ten Klasse und dies ist etwas was mir noch nicht beigebracht wurde, jedoch verstehe ich das deine erste Aussage in etwa und versuche es mal :P(haha...).
Gibt es eigentlich auch eine andere Methode um zu prüfen ob eine "Grafik" in einer App(Android,Java) angeklickt wurde?

Edit: Um es einfach auszudrücken, soll ich prüfen ob X und/oder Y kleiner sind als die hälfte der Kantenlänge meines Quadrats und der Mittelpunkt liegt im Ursprung meines Quadrats, woher weiß ich denn welche Kante,Ecke oder welcher Punkt der Ursprung ist?

MfG Joshi