Koordinaten von einem Kreissegment berechnen

Status
Nicht offen für weitere Antworten.

duke

Mitglied
Hallo zusammen,

folgendes Problem:
- Ich habe einen Kreis gezwichnet, der aus 4 einzelnen Segmenten zusammen gesetzt ist.
- Ich habe einen MouseAdpater, der mir die Koordinaten eines ClickEvents liefert.

Nun möchte ich den ClickPoint mit den Koordinaten des Kreissegments vergleichen, d.h. ich möchte wissen auf welches Kreissegment gecklickt wurde.

Meine Frage: Den Radius meines Segments berechne ich mit r= (4h²+s²) / 8h. Wie kann ich den Vergleich durchführen, ohne dass alle Koordinaten gespeichert werden müssen, d.h. rechnerisch gelöst?

Alternativ:

Vielleicht denke ich auch zu kompliziert und es gibt eine deutlich einfachere Lösung.


Viele Grüße
 

Mostly_Harmless

Aktives Mitglied
Also falls die Grenzen der Segmente horizontal und vertikal verlaufen (s. Anhang), ist es ganz leicht, das Segment herauszufinden:

Du vergleichst die Koordinaten des Kreismittelpunktes mit denen des Mauszeigers.
Ist die x-Koordinate des MouseEvents größer, ist es eines der Segmente auf der rechten Seite, ansonsten eines auf der linken.
Anschließend folgt noch der Vergleich der y-Koordinaten.
 

Anhänge

  • Kreissegmente.bmp
    10,8 KB · Aufrufe: 23

hdi

Top Contributor
Ja und dann musst du natürlich noch prüfen, ob die Werte nicht den
kompletten Radius sprengen, also zuweit rechts/links/oben/unten liegen.

Einfach if(<= radius)
 

duke

Mitglied
Gibt es auch eine Lösung, mit der ich direkt das gezeichnete Kreissegment abfrage. In der Lösung von Euch würde ich das Segment erkennen, auch wenn ausserhalb des gezeichneten Kreises geklickt wird, z.Bsp. zwischen Kreissegmentlinie und Mittelpunkt.
 

Mostly_Harmless

Aktives Mitglied
In der Lösung von Euch würde ich das Segment erkennen, auch wenn ausserhalb des gezeichneten Kreises geklickt wird

Daher die Ergänzung von hdi, dass der Abstand zum Kreismittelpunkt <= dem Radius des Kreises sein muss.

Falls du das jetzt nicht meintest, versteh ich deine Frage nicht, zeig dein Problem am besten mal mit Hilfe eines Bildes. ;)
 

duke

Mitglied
Hallo!

Tatsächlich habe ich zunächst die Lösung nicht ganz verstanden.......ich stehe total auf dem Schlauch und weiss auch nicht warum.

Die Erkennung, ob innerhalb oder ausserhalb geklickt wird, funktioniert. Ich habe ein großes Problem mit den Randbereichen.
Es soll möglich sein, dass bei Klick genau erkannt wird, um welches Segment es sich handelt (links, oben, rechts).
Da habe ich (wie an dem markierten Bereich) ein Problem.

Der Winkel an den Stosskanten bereitet mir Probleme bei der Lösung.
 

Anhänge

  • kreis2.png
    kreis2.png
    54,8 KB · Aufrufe: 50

Marco13

Top Contributor
Eine ganz andere Möglichkeit, bei der der aufgemalte Fall abgedeckt wäre: Wenn der Kreismittelpunkt bei (x0,y0) ist, und man bei (x1,y1) hinklickt, kann man mit
int dx = x1-x0;
int dy = y1-y0;
float angle = (float)Math.atan2(dx,dy);
den Winkel ausrechnen, "wo" der geklickte Punkte bzgl. des Millepunktes liegt (siehe http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html#atan2(double, double) ). Man bekommt damit einen Winkel raus, bei dem man nurnoch testen muss, ob
-45° < winkel <= 45° : Rechtes Segment
45° < winkel <= 135° : Unteres Segment
...usw...
(ACHTUNG: Der Zurückgegebene Winkel ist in Radians - ggf. mit Math.toDegree in Grad umrechnen (auch wenn Andrey mich dafür haut...))
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C permanente aktualisierung der Koordinaten der Maus auf einem Panel AWT, Swing, JavaFX & SWT 8
C Polygon Koordinaten richtig sortieren AWT, Swing, JavaFX & SWT 7
C Kleineres Bild an bestimmte Koordinaten setzen AWT, Swing, JavaFX & SWT 6
S JButtons an Koordinaten setzen AWT, Swing, JavaFX & SWT 3
J Java FX Koordinaten NACH Animation setzen, wie? AWT, Swing, JavaFX & SWT 9
F Swing Rotation eines Bildes mit beliebigen Koordinaten um den Mittelpunkt AWT, Swing, JavaFX & SWT 3
B Transformation und Darstellung von Koordinaten AWT, Swing, JavaFX & SWT 5
J in actionPerformed() Koordinaten ändern AWT, Swing, JavaFX & SWT 9
P JavaFX Szenegraph - Koordinaten von Children einer Group AWT, Swing, JavaFX & SWT 0
C Bild Koordinaten AWT, Swing, JavaFX & SWT 6
S Polygon mit double-Koordinaten AWT, Swing, JavaFX & SWT 2
K 3D-Grafik 2 "Boxen" auf unterschiedlichen Koordinaten AWT, Swing, JavaFX & SWT 2
Luk10 Fragen zum Koordinaten System AWT, Swing, JavaFX & SWT 3
K LayoutManager Buttons auf bestimmte x und y Koordinaten AWT, Swing, JavaFX & SWT 2
W 2D-Grafik Koordinaten nicht immer die selben AWT, Swing, JavaFX & SWT 9
J Koordinaten von JButton AWT, Swing, JavaFX & SWT 2
C Caret Position mit X-Y-Koordinaten ermitteln AWT, Swing, JavaFX & SWT 2
D Swing JTable, Zellen-Farbe über Koordinaten ändern AWT, Swing, JavaFX & SWT 9
Y AWT Maus Koordinaten abspeichern in eine Textfile AWT, Swing, JavaFX & SWT 3
D Swing JViewPort, Absolut Koordinaten berechnen. AWT, Swing, JavaFX & SWT 2
T SWT Canvas Koordinaten per MouseMove auslesen AWT, Swing, JavaFX & SWT 1
S Koordinaten aus Array verwenden zum zeichnen auf JPanel?! AWT, Swing, JavaFX & SWT 3
S Swing Text -> HTML: Caret-Koordinaten verschoben AWT, Swing, JavaFX & SWT 6
aze SwingConstants.Center Koordinaten für JLabel herausfinden AWT, Swing, JavaFX & SWT 6
T Choice "gezielt" darstellen aber wie - mit Koordinaten aber wie? AWT, Swing, JavaFX & SWT 6
D Mouse Koordinaten AWT, Swing, JavaFX & SWT 2
R drawString mit double Koordinaten AWT, Swing, JavaFX & SWT 5
M Grafik flexibel an berechneten Koordinaten positionieren AWT, Swing, JavaFX & SWT 4
N Alle Pixel-Koordinaten von z.B. g.drawLine(.) speichern AWT, Swing, JavaFX & SWT 7
N Koordinaten erfassen AWT, Swing, JavaFX & SWT 5
S Koordinaten/Raster (ähnlich Schachbrett) anzeigen/ausblenden AWT, Swing, JavaFX & SWT 10
F Ermittlung der X- und Y- Koordinaten im Tree bei Tastaturst. AWT, Swing, JavaFX & SWT 5
D Koordinaten der Bildschirmposition auslesen (MouseListener?) AWT, Swing, JavaFX & SWT 7
Juelin Zugriff auf Bildschirmobjekte aus einem anderen Programm AWT, Swing, JavaFX & SWT 6
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
S Swing zu einem Datum Tage addieren/subtrahieren AWT, Swing, JavaFX & SWT 6
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
L JavaFX javafx.fxml.LoadException bei einem Taschenrechner AWT, Swing, JavaFX & SWT 5
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
H JComobox in einem JPopupNeu AWT, Swing, JavaFX & SWT 7
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
W Inject bei einem Swing Frontend AWT, Swing, JavaFX & SWT 8
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
D AWT Wie kann ich ein Frame von einem anderen aus beeinflussen? AWT, Swing, JavaFX & SWT 7
T Setzen von der Schriftgröße bei einem Shell AWT, Swing, JavaFX & SWT 15
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
D JavaFX Ein Parameter von einem Stage(GUI) zu einem anderen übergeben AWT, Swing, JavaFX & SWT 6
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
S JavaFX Variablen in einem FXML File verwenden AWT, Swing, JavaFX & SWT 8
A Objekt von einem Window erstellen? AWT, Swing, JavaFX & SWT 8
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
M JavaFX Bild zur ImageView in einem Kreis anzeigen. AWT, Swing, JavaFX & SWT 4
F JavaFX PNG aus einem resource Ordner laden AWT, Swing, JavaFX & SWT 8
F JavaFX Checken ob der Input einem festgelegten Format gleicht AWT, Swing, JavaFX & SWT 7
B JavaFX Bilder in einem Gewissen bereich halten AWT, Swing, JavaFX & SWT 1
cool_brivk24 BufferedImage einem ClickEvent hinzufügen AWT, Swing, JavaFX & SWT 13
Q-bert Doppelclick auf einem List item AWT, Swing, JavaFX & SWT 9
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
R Farbe zu einem Eckpunkt generieren AWT, Swing, JavaFX & SWT 2
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
F abgeleitete Panels von einem ContentPanel AWT, Swing, JavaFX & SWT 4
heinz ketchup While-Schleife in einem Service für GUI AWT, Swing, JavaFX & SWT 22
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
H Hintergrundbild in einem Programm AWT, Swing, JavaFX & SWT 4
F RGB-Werte aus einem String einlesen AWT, Swing, JavaFX & SWT 26
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
L JavaFX Klickverhalten bei einem Panel AWT, Swing, JavaFX & SWT 1
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
Y Darstellung und MouseHover bei bestimmten Wörtern in einem String AWT, Swing, JavaFX & SWT 2
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
H Geld pro Sekunde in einem Clickerspiel AWT, Swing, JavaFX & SWT 4
Java_RY wie kann ich auf JButtons in einem JPanel zugreifen AWT, Swing, JavaFX & SWT 3
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3
Ghostman1711 Hinzufügen ausgewählter Dateinen des Filechoosers zu einem JTable AWT, Swing, JavaFX & SWT 9
T AWT Farben in einem Bild ändern AWT, Swing, JavaFX & SWT 8
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben