GetDistanzeFrom



  • Hey also ich wollte Objekte mit Hilfe der Maus scallieren. Dafür werden zwei Vectoren übergeben einmal maus und einmal oldmaus. Jetzt möchte ich das so Regeln, dass er die Distanze der beiden Punkte berechnet.
    Dann soll er z.B. bei einer Erhöhung von 0.5 den Scalewert der Objekte um 0.5 erhöhen.
    Den Wert übergeben und die Koordinaten ist kein Problem. Aber ich weiß nicht wie ich das ausrechnen soll geschweige denn wie die Syntax aussieht



  • Meinst du mit "Distanz" den Abstand der Mauspositionen? Da reicht vermutlich der Pythagoras aus - dist=sqrt((maus.x-oldmaus.x)(maus.x-oldmaus.x)+(maus.y-oldmaus.y)(maus.y-oldmaus.y));



  • jau möchte ich bzw. von zwei Fingerkoordinaten. Es soll so funktionieren, das wenn sich die Punkt voneinander entfernen, das Objekt größer wird und wenn sich die Distanze dann wieder verringert, kleiner werden.
    Ich habe dabei gar keinen Plan wie ich das umsetzen könnte.



  • Und woran scheitert es denn jetzt? Du hast deine beiden Positionen - und kannst den Abstand dazwischen nun mittels Pythagoras berechnen:

    dx = mouse.x-oldmouse.x
    dy = mouse.y-oldmouse.y
    distance = sqrt(dx*dx+dy*dy)
    

    Diesen Abstand kannst du jetzt umrechnen in einen Skalierungsfaktor und deine Darstellung entsprechend anpassen.



  • Okay also kann ich so die Distanze ausrechnen. Dann muss ich doch nur noch eine Variable haben, die die alte Distanze speichert und mit der neuen vergleicht. Sodass ich die Größe des Objekts verändern kann.

    dx = mouse.x-oldmouse.x
        dy = mouse.y-oldmouse.y
        distance = sqrt(dx*dx+dy*dy)
    
        if(olddistance > distance)
        {
            obj[Obj]->width += 0.005;
        }
        else
        {
            obj[Obj]->width -= 0.005;
        }
    

    oder wie meinst du das mit umrechnen? Bzw. wie kann ich den Umrechnen?


Anmelden zum Antworten