Positionsberechnung eines Objekts

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
neuro
User
Beiträge: 3
Registriert: Samstag 6. Januar 2007, 15:47

Folgendes Problem:

Ich habe ein Objekt, welches sich frei auf einem Spielfeld
bewegen kann.

Nun möchte ich feststellen, ob sich das Objekt innerhalb
eines quadratischen Bereichs befindet.

Bekannt sind die X, Y und Z-Koordinaten des Objekts,
des Bereichs und des Spielfelds.

MfG. neuro
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Und wo ist nun das Problem?

Du überprüfst einfach alle Punkte vom Objekt, ob sie in diesem quadratischen Bereich sind.

Gruss
neuro
User
Beiträge: 3
Registriert: Samstag 6. Januar 2007, 15:47

Du überprüfst einfach alle Punkte vom Objekt, ob sie in diesem quadratischen Bereich sind.
So genau brauche ich das gar nicht. Mir reicht, wenn ich weiss,
ob sich eine X, Y, Z-Koordinate in dem Bereich befindet.

Hier würden schon Beispiele reichen, die zeigen, wie man in
Python einen Bereich definiert, so dass man in einer Schleife
abfragen kann, ob sich eine X, Y, Z-Koordinate im Bereich befindet.

MfG. neuro
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Na gut:

Code: Alles auswählen

bereich = ((0, 1), (0, 4), (2, 5)) # x, y, z
punkte = [(1, 2, 3), (4, 5, 6), (1, 4, 2)]
for punkt in punkte:
    for koordinate in range(3):
        if not bereich[koordinate][0] <= punkt[koordinate] <= bereich[koordinate][1]:
            break
    else:  # bei for-Schleifen wird der else-Block genau dann ausgeführt,
           # wenn die Schleife nicht durch break unterbrochen wurde
        print "Punkt", punkt, "im Bereich."
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
neuro
User
Beiträge: 3
Registriert: Samstag 6. Januar 2007, 15:47

Besten Dank.

MfG. neuro
Antworten