grafische objekte erstellen und bewegen

MrG

Mitglied
Hallo,

ich frage mich, wie Programme funktionieren, bei denen man grafische Objekte mit der Maus bearbeitet, z.B. GeoGebra, JOSM, ....

Wie funktioniert z.B. ein Programm, bei dem der Benutzer z.B. ein Dreieck auf einer Zeichenfläche erzeugen und es später mit der Maus verschieben kann.

Wie entscheidet das Programm, ob die Dreiecksfläche geklickt wurde oder nicht?

Bei einem Rechteck kann ich mir noch vorstellen, zu untersuchen, ob die Klick-Koordinaten innerhalb der Fläche des Rechteckes sind, bei einem Dreieck ist das schon schwieriger und bei einer unregelmäßigen Figur ???

Ihr seht, von Grafikprogrammierung habe ich noch keine Ahnung.

Vielen Dank für jeden Tipp!

Beste Grüße
 
Moin,

soweit ich weiß, kannst du grafischen Objekten mit der Methode "Drag and Drop" neu platzieren. Da eine z.B. Gezeichnete Linie nix anderer als ein Objekt ist, gibt es wohl noch die möglichkeit dem Objekt eine art radius mitzugeben. Das bedeutet das gezeichnete Objekt kann zum Beispiel noch zum verschieben ausgewählt werden, wenn du wenige mm daneben klickst.
Hoffe du kannst dir das durch meine erklärung ein wenig vorstellen.

Gruß!
 
DnD ist doch eher zum Verschieben von Inhalten aus einer Komponente in eine andere gedacht?

Wenn die Position, Ausrichtung und Größe der auf einer Fläche gezeichneten Objekte bekannt sind kann man ja berechnen/ermitteln ob ein Mausclick auf einem solchen Objekt gemacht wurde - unabhängig von deren Form. Bei komplexen Formen bietet sich u.U. an eine BoundingBox (Rechteck, welches das Objekt umschliesst) zu verwenden, um erstmal "grob" zu ermitteln, ob der Mausclick für das Objekt relevant sein könnte.
 
Für die Frage, ob etwas angeklickt wurde, gibt es durchaus mehrere Möglichkeiten. Die erste ist die von Michael... erwähnte Bounding Box. Aber letztlich ist es normale Geometrie mit der Frage "Liegt Punkt X in einem Polygon?".
Manchmal geht es auch über andere Informationen, zB die Hintergrundfarbe. Wie komplex man das Thema angeht liegt wohl stark daran, wie komplex die Anwendung / Funktionalität werden soll.
 

Zurück
Oben