|
|
Tangente an zwei Kreise anlegen |
|
AS02 |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 09.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.12.2020, 10:51
Titel: Tangente an zwei Kreise anlegen
|
|
Hi,
ich habe hier ein Projekt, an dem ich jetzt schon 2 Tage sitze und an einer stelle einfach nicht weiterkomme.
Es geht darum, dass ich zwei Kreise habe. Der eine von diesen (Kreis1) soll fest an seiner Position bleiben und der zweite sich auf einer weiteren Kreisbahn mit einem gewissen Radius um den Kreis 1 bewegen können. Bis dahin Funktioniert mein Programm auch.
Anschließend soll Eine Tangente an beiden Kreisen anliegen. Das Ganze soll dann so ähnlich aussehen wie unten. Allerdings soll die Tangente an beide Kreise anliegen.
Kann mir da eventuell jemand weiterhelfen?
Vielen Dank schonmal im Voraus
MfG AS02
Beschreibung: |
|
Download |
Dateiname: |
Kreise mit Tangente.fig |
Dateigröße: |
55.07 KB |
Heruntergeladen: |
198 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.12.2020, 11:48
Titel:
|
|
|
|
|
Hallo,
für mich ist das in erster Linie ein Geometrieproblem. Ich würde es wie folgt versuchen:
* Ziehe eine Linie von den Kreismittelpunkten zu den Schnittpunkten mit der (gedachten) Tangente. Verbinde zudem die Kreismittelpunkte. Es bilden sich zwei Dreiecke.
* Die Winkel an den Kreismittelpunkte müssen gleich sein, also gilt
cos(alpha) = r1 / hypotenuse1 = r2 / hypotenuse2, und damit sind natürlich auch die Kehrwerte gleich.
* Andererseits entspricht aber hypotenuse1 + hypotenuse2 der Entfernung der Kreismittelpunkte entf, d.h.
hypotenuse1 / r1 = (entf - hypotenuse1) / r2
Das kannst du jetzt nach hypotenuse1 auflösen.
* Damit kannst du den Berührpunkt der Dreiecke, also einen Punkt auf der Tangente berechnen.
* Zudem kannst du über
sin(beta) = r1/hypotenuse1
den Steigungswinkel der Tangente berechnen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
AS02 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 09.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.12.2020, 14:01
Titel:
|
|
Hallo Harald,
danke schonmal für deine Antwort.
Nur eine Frage bleibt mir noch, an der es vorher auch hin. Die Tangente ist abhängig von zwei Berührpunkten, welche auch wiederum von der Position des 2. Kreises und von sich gegenseitig abhängig sind.
Das War zunächst das Programm dass ich bisher geschrieben hatte. Die Schleife mit der Winkelberechnung hat was mit der späteren Anwendung zu tun.
Allerdings sind die Berührpunkte von N und M abhängig, die manuell eingegeben werden müssen. Kann ich vielleicht eine Schleife die Eingabe von N und M übernehme? Also dass N und M so gewählt werden, dass die Punkte, die von diesen wiederum abhängig sind die gleiche Tangentensteigung besitzen?
Ich weiß, dass kling kompliziert, aber im Grunde geht es darum, dass sich der Kreis2 bewegen soll und für jede Position eine Tangente bestimmt werden soll, die beide Kreise berührt.
Danke
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.12.2020, 16:48
Titel:
|
|
Hallo,
ich kann deinen Ansatz nicht recht nachvollziehen. Natürlich kannst du die möglichen m1 und m2 ausrechnen, aber es reicht ja nicht, dass die Tangenten parallel sind.
Mein Ansatz sollte das von dir beschriebene Problem lösen. Zur Verdeutlichung habe ich die Dreiecke mal in deine Figure eingetragen.
Grüße,
Harald
Beschreibung: |
|
Download |
Dateiname: |
triangles.png |
Dateigröße: |
45.43 KB |
Heruntergeladen: |
176 mal |
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
AS02 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 09.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.12.2020, 17:15
Titel:
|
|
Vielen Dank dir Harald!
ja, das mit dem m1 und m2 war noch von einem vorherigen Ansatz.
Danke für deinen, find ich deutlich einfacher.
Kurze Frage dazu noch: Wie komme ich auf die Punkte der gedachten Tangente?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.12.2020, 18:14
Titel:
|
|
Hallo,
das Bild dient nur der Illustration, die Punkte sind "optisch geschätzt".
Um einen Punkt auf der Tangente (z.B. den Berührungspunkt der Dreiecke) und ihre Steigung zu bekommen, würde ich eben die ganzen Schritte der Reihe nach durchgehen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
AS02 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 09.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.12.2020, 10:45
Titel:
|
|
Hallo Harald,
habe deinen Ansatz mal probiert und was soll ich sagen
Es Funktioniert.
Musste den Winkel alpha noch von der Position des Kreises machen, aber funktioniert.
Falls jemand das ganze jemand für die Zukunft braucht:
Vielen vielen Dank dir
MfG
AS02
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|