0 Daumen
2,4k Aufrufe

vermutlich ist das Anliegen gar nicht mal so schwer. Aber irgendwie habe ich im Moment ein Brett vor dem Kopf. Ich möchte auf einem Kreis die Gradzahl bestimmen an der sich ein Punkt befindet.

Ich habe mich schon daran versucht mit Bogenmaß zu rechnen aber irgendwie gelange ich nicht zum richtigen Ergebnis.

Grafik

Ich möchte dabei die Gradzahlen auf dem Kreis bestimmen die durch die kleineren Kreise dargestellt werden.

Avatar von

1 Antwort

0 Daumen
hallo

leider hast du uns recht wenig infos gegeben.
ist der kreis in einem koordinatensystem mit der
kreisgleichung (x-xm)² + (y-ym)² = r² beschrieben?
dann hättest du die möglichkeiten zur winkelberechnung
über

sin(α) = (y-ym)/r
cos(α) = (x-xm)/r
tan(α) = (y-ym)/(x-xm)

unter beachtung des jeweiligen quadranten.
wenn du mit dem bogenmaß rechnen möchtest wäre es
natürlich sinvoll, die bogenlänge zwischen zwei punkten
zu kennen.

aufgrund der wenigen infos wäre alles weitere auch nur
noch spekulation...

gruß

gorgar
Avatar von 11 k
Hallo Gorgar,

vielen Dank erst einmal für die Info. Vielleicht sollte ich die  Aufgabe näher erklären. Ich möchte über ein Programm eine Kurve um Kreis zeichnen lassen. Der Kreis kann frei im Raum bewegt werden und besitzt unterschiedliche Radien.

Das Programm ermittel die Position und zeichnet selbstständig die Verbindung zwischen den Kreistangenten.

Ich werde das mal mit den COS und SIN Rechnungen probieren. Schon mal vielen Dank für die Hilfe.
mir ist immer noch nicht wirklich klar, was das werden soll. möchtest du das alles selbst programmieren?


  eine interessante Fragestellung vor allem weil ich mir noch nichts
darunter vorstellen kann.

  In einem cartesischem Koordinatensystem ist irgendwo ein Kreis
der beliebige Radien haben kann.

  Auf dem Kreis sind 2 Punkte, z.B. über Ihren Winkel angegeben.
In deiner Skizze ca. 30 ° und 130 °

  Tangential beginnend sollen beide Punkte miteinander verbunden
werden.

  Es gibt aber unendlich viele Verbindungen die das erfüllen würden:

  Was für eine Funktion schwebt dir vor ? Vier Bedingen müßten
erfüllt werden. Die 2 Punkte sind auf der Funktion. Die beiden
1.Abeitungen ( Steigungen ) sind auch bekannt. Also eine Funktion
4.Grades ?

  Ich stochere im Nebel.

  mfg Georg

vielleicht sehe ich auch den Wald vor lauter Bäumen nicht. Am Besten ich erkläre die Aufgabenstellung kurz.

Geben sind eine variable Anzahl an Kreisen die durch Riemen verbunden werden. Das ist bereits gelöst. Ich bekomme dann pro Kreis eine max. Anzahl an Punkten (x|y) wo die Riemen an die Kreise gehen. Nun möchte ich zusätzlich dazu noch eine Zeichnung machen die die Punkte zwischen P1 und P2 verbindet.

Über das entwickelte Programm soll dann wie im Bild eine Verbindung zwischen den Kreistangenten hergestellt, die im gleichen Radius wie der Kreis das "Loch" schließt. Gegeben Sind im Prinzip zwei Punkte pro Kreis P1 (x|y) und P2 (x|y). Das innere kann ich soweit alles Berechnen nur erschließt sich mir nicht wie ich auf die Gradzahlen im Kreis kommen kann. Ich habe eine Funktion gefunden die leider nicht stimmt.

∑ (Start-Winkel) = Math.Atan2(P1.Y, P1.X) / π * 180

&

∑ (End-Winkel) = Math.Atan2(P2.Y, P2.X) / π * 180

So wie in der Zeichnung muss ich die Gradzahlen ermitteln die am Punkt 1 und Punkt 2 auf dem Kreisanliegen. Vermutlich denke ich auch nur zu kompliziert. Ich hoffe ich konnte mein Problem ein wenig besser darstellen.

Abb. 02

"Über das entwickelte Programm soll dann wie im Bild eine Verbindung zwischen den Kreistangenten hergestellt, die im gleichen Radius wie der Kreis das "Loch" schließt." Hut ab vor dem, der _das_ kapiert! Ich tu es nicht! Welches Loch?! Was soll denn nun gezeichnet werden, der blaue Kreisbogen?


  versuchen wir das Ganze auf das rein mathematische zu reduzieren.

  Gegeben

  - der Mittelpunkt eines Kreises M mit den Koordinaten ( xm l ym )
  - eventuell ist der Radiur R auch bekannt
  - 1. Punkt P1 mit den Koordinaten ( x1 y1 )
  - 2. Punkt mit den Koordinaten ( x2 l y2 )

  Gesucht ist der Winkel zwischen Mittelpunkt und P1
  Gesucht ist der Winkel zwischen Mittelpunkt und P2

  Soweit mein erster Vorschlag. Bin gern weiterhin behilflich.

  mfg Georg
Ja, Geoerg ist auf dem richtigen Weg. Erklärungen sind nicht mein Spezialgebiet. Ich bin da eher etwas abstrakt.

- Kreismittelpunkt ist bekannt
- Radius des Kreises ist auch bekannt
- P1 und P2 sind auch gegeben

Was ich jetzt suche ist der Punkt auf dem Kreis in Grad. Kreis hat ja 360° wird geviertelt in 0 - 90 - 180 - 270. P1 liegt jetzt angenommen auf 198° und P2 liegt bei 30°. Diese beiden Werte müsste ich irgendwie ermitteln. Ist das überhaupt so möglich?

Und mit dem "Loch" meinte ich das fehlende Verbindungsstück zwischen P1 und P2. Praktisch das Kreissegment.

Ja ich weiß, ist nicht ganz nachvollziehbar... vermutlich muss ich das ganze anders aufbauen.

  ich hatte schon einmal eine Skizze angefertigt die ich hiermit einfüge.

  Du willst also nur wissen wie groß die Winkel alpha und beta in Grad sind.
Das ist relativ leicht zu berechnen. Ich schlage vor du teilst einmal ein Beispiel
mit, damit ich das einmal berechne.


  Gegeben
  M mit ( xm l ym )
  r  ( ist nicht unbedingt notwendig, kann auch berechnet werden )
  P1 ( x1 l y1 )
  P2 ( x2 l y2 )

  Berechnet wird der Winkel alpha und beta in Grad.

  Zwischen den beiden Punkten P1 und P2 ist ein Kreissegment.
Was willst du darüber wissen. Die Länge ? Die mathematische Funktion
für diesen Kreisbogen ?

  mfg Georg

@Anonym:

na fein, dann hatte ich ja mit meiner ersten antwort nen volltreffer gelandet!
wenn das so weitergeht, mutiere ich noch zum hellseher! :D:P

um von einem bestimmten punkt p(x|y), der auf dem kreisumfang eines kreises mit dem radius r
und dem mittelpunkt (xm|ym) liegt den winkel zu bekommen, können wir eine der trigonometrischen
beziehungen aus meiner obigen antwort wählen. beim tangens müsste man im programm den
nenner x-xm bei den vier fallunterscheidungen auf null prüfen, darum würde ich mich nicht für den tangens entscheiden. der radius ist ja sowieso gegeben dann steht dem auch nichts im wege ihn zu benutzen.

nehmen wir also den sinus. eine abfrage des nenners auf null entfällt,
wenn man vorher einen radius r=0 ausschließt.
bei einem kreis mit einem radius mit r=0 hätte man ohnehin nicht ganz so viel zum zeichnen.
es gilt sin(α) = (y-ym)/r = arg. den winkel bekommt man mit α = arcsin((y-ym)/r) = arcsin(arg).

wir haben also den punkt p(x|y), wir haben r und suchen den zugehörigen winkel des punktes
relativ zur x-achse in üblicher notation.

1) 0 ≤ α ≤ 90°
x ≥ xm und y ≥ ym
α = arcsin(arg)

2) 90° < α ≤ 180°
x < xm und y ≥ ym
α = 180° - arcsin(arg)

3) 180° < α < 270°
x < xm und y < ym
α = 180° - arcsin(arg)

4) 270° ≤ α < 0°
x ≥ xm und y < ym
α = 360° + arcsin(arg)

die fallunterscheidungen bitte nachprüfen und falls dazu noch fragen sind einfach schreiben, ich bin allerdings voraussichtlich erst spät am abend wieder hier.
Hallo gorgar,

  da hast du aber schon penibel und mit viel Aufwand vorgearbeitet.

  Ich will erst die Antwort des Fragestellers abwarten bevor ich weiter
mache. Ich bin selbst Programmierer ( Turbo Pascal / Delphi ) und
könnte vielleicht ein Progrämmchen schreiben.

  mfg Georg
hallo georg.

okay, warten wir mal ab was mr. anonym schreibt.

bis dann,

gorgar

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community