Ergebnis 1 bis 6 von 6

Thema: Punkt zwischen 4 Geraden ? (PB)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Punkt zwischen 4 Geraden ? (PB)

    Tja.. ich zerbrech mir hier den Kopf über ein kleines Problem und mir gehen die Ideen aus, woran es liegen könnte.

    Folgendes Problem:
    Ich möchte wissen ob sich der MausCursor innerhalb der von mir gezeichneten Map befindet. Die Map bildet eine Raute.
    Der Ansatz ist, von den 4 Kanten der Map Geradenfunktionen zu bilden, den MausX-Wert einzusetzen und den MausY dann mit den Ergebnissen zu überprüfen.
    Komischerweise ist einzig und allein der 1. Wert der Ausreißer der immer größer als MausY ist, obwohl er kleiner sein sollte..

    Zitat Zitat
    Procedure IsPointeronMap(MausX, MausY)
    xStart = Map(0,0)\os
    yStart = Map(0,0)\yPos + (#Kachel_Hoehe/2)
    bG0.f = yStart - (#Kachel_Steigung*xStart)
    bGX.f = bG0 + (MapSizeY*#Kachel_Hoehe)
    yG0.f = #Kachel_Steigung*MausX + bG0
    yGX.f = #Kachel_Steigung*MausX + bGX

    bF0.f = yStart + (#Kachel_Steigung*xStart)
    bFX.f = bF0 - (MapSizeY*#Kachel_Hoehe)
    yF0.f = -#Kachel_Steigung*MausX + bF0
    yFX.f = -#Kachel_Steigung*MausX + bFX

    result = 0
    If MausY > yG0 And MausY < yGX And MausY < yF0 And MausY > yFX
    result = 1
    EndIf

    ProcedureReturn result
    EndProcedure
    Ich kann leider keine Skizze liefern.. aber ich hoffe ihr könnt den obigen Code nachvollziehen... Wie gesagt ist immer der Wert yG0 größer als MausY, auch wenn er nach der Logik her kleiner sein müßte. Ich erkenne aber keinen Fehler in meiner Berechnung...
    Ich hoffe ihr könnt mir helfen..

    PS: Falls etwas unklar ist, sagen und ich liefer Infos nach.

    PPS: xStart und yStart sind die Pixelkoordinaten des linken Eckpunktes der Raute..

    Edit: Problem ist gelöst.. in Ruhe nachdenken hilft (Vorzeichen an einigen Stellen falsch *vorKopfschlag*)

    Geändert von MagicMagor (13.02.2004 um 04:03 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •