Matroids Matheplanet Forum Index
Moderiert von viertel
Mathematik » Geometrie » Rotationswinkel von 2 Geraden mit konst. Drehsinn
Druckversion
Druckversion
Autor
Beruf J Rotationswinkel von 2 Geraden mit konst. Drehsinn
tobias3107
Neu Letzter Besuch: im letzten Quartal
Dabei seit: 29.03.2020
Mitteilungen: 3
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2020-03-29


Hallo miteinander,

ich bearbeite momentan ein neues Softwareprojekt für unsere CNC-Fertigung.
Ich benötige für die Zeichnungserstellung eine automatisch generierte Tabelle mit den zu verfahrenden Abständen und dessen Winkeln.
Ausgangslage ist ein CAD Programm mit der Werkstückkontur.
Ziel ist es, durch selektieren eines Nullpunktes und der einzelnen Linien die Werte zu berechnen.

Nun stehe ich vor einen Geometrie Problem.
Ich benötige die eingezeichneten Alpha-Winkel(Bild: Winkeldef) in der Zeichnung. Diese Winkel definieren die Rotation des Werkstückes um den angegebenen Nullpunkt.(Bild: Anwendung)

Ich habe von jeder Linie die Steigung sowie die X und Y Koordinaten der Start-und Endpunkte sowie Linienlänge.
Problem ist eigentlich, dass ich beliebige Linien selektieren kann und ich nicht mit den Schnittwinkel rechnen kann, da dieser oftmals falsch an der falschen Stelle berechnet wird und das ganze schließlich automatisiert werden soll. Ebenso ist es ein PRoblem bei der unteren horizontalen Linie, dass diese eine 0° STeigung hat, wobei man mit 180° rechnen müsste.

Bereits experimentiert mit:
Schnittwinkel, Steigungsdifferenz, 180°-2x Steiung.

Ich hoffe ihr versteht meine Frage..

Vielen Dank im vorraus.

Beste Grüße und gesund bleiben!🙂
Tobias







Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27247
Aus: Hessen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2020-03-30


Hi tobias3107

Willkommen auf dem Planeten

Mit der arctan2-Funktion (die sollte es in deiner Programmiersprache geben) kannst du die Steigung jeder(!) Geraden berechnen. Da diese in Radian geliefert wird, mußt du sie noch in Grad umrechnen. Dann hast du einen Winkel im Intervall $\varphi \in (-180^\circ,180^\circ]$. Mit $(\varphi+360^\circ)\text{ mod } 360^\circ$ kannst du das in den Bereich $[0,360^\circ)$ verschieben.
Die Differenz der Steigungen zweier Geraden ist dein gesuchter Winkel. Evtl. mußt du noch Fallunterscheidungen machen. Aber auch hier kann dir die $\text{mod}$ Funktion helfen.

Gruß vom ¼


-----------------
Bild



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
tobias3107
Neu Letzter Besuch: im letzten Quartal
Dabei seit: 29.03.2020
Mitteilungen: 3
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2020-03-30


2020-03-30 00:24 - viertel in Beitrag No. 1 schreibt:
Hi tobias3107

Willkommen auf dem Planeten

Mit der arctan2-Funktion (die sollte es in deiner Programmiersprache geben) kannst du die Steigung jeder(!) Geraden berechnen. Da diese in Radian geliefert wird, mußt du sie noch in Grad umrechnen. Dann hast du einen Winkel im Intervall $\varphi \in (-180^\circ,180^\circ]$. Mit $(\varphi+360^\circ)\text{ mod } 360^\circ$ kannst du das in den Bereich $[0,360^\circ)$ verschieben.
Die Differenz der Steigungen zweier Geraden ist dein gesuchter Winkel. Evtl. mußt du noch Fallunterscheidungen machen. Aber auch hier kann dir die $\text{mod}$ Funktion helfen.

Gruß vom ¼


Hallo viertel,

vielen Dank für deine Antwort!
Jedoch kann ich dir nicht ganz folgen.

Für die Arctan2 Funktion, muss ich 2 Punkte angeben. Da meine Geraden jedoch nicht durch den Nullpunkt verlaufen, kommt bei mir ein falscher Wert raus. Wenn ich die Steigungsdifferenzen berechne, stimmt der Wert von L1-L2, L2-L3, L3-L4. Wenn ich jedoch L4-L5 betrachte (m1=150, m2=0), ist die Differenz 150°, da m2=0, nicht 180°.

Viele Grüße,
Tobias



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27247
Aus: Hessen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2020-03-30


2020-03-30 16:33 - tobias3107 in Beitrag No. 2 schreibt:
Für die Arctan2 Funktion, muss ich 2 Punkte angeben.
Nein, sondern die 2 Werte $\Delta y$ und $\Delta x$ für die Steigung einer Geraden.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
tobias3107
Neu Letzter Besuch: im letzten Quartal
Dabei seit: 29.03.2020
Mitteilungen: 3
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2020-03-30


2020-03-30 16:54 - viertel in Beitrag No. 3 schreibt:
2020-03-30 16:33 - tobias3107 in Beitrag No. 2 schreibt:
Für die Arctan2 Funktion, muss ich 2 Punkte angeben.
Nein, sondern die 2 Werte $\Delta y$ und $\Delta x$ für die Steigung einer Geraden.

Hallo Viertel,

jetzt versteh ich auch die atan2 Funktion!

Ich hab's nun geschafft! Ist eigentlich recht einfach, wenn man weiß, wie es geht, typisch Mathematik 😄😄

Vielen Dank für deine Hilfe!
Tolles Forum 🤗

Viele Grüße,
Tobias





Falls jemand der vb.net Code interessiert:

vb.net
   Dim linie As dxf.line = mySelectedObj
            x2 = Convert.ToDouble(linie.startpoint.x)
            x1 = Convert.ToDouble(linie.endpoint.x)
            y2 = Convert.ToDouble(linie.startpoint.y)
            y1 = Convert.ToDouble(linie.endpoint.y)
 
 
                DeltaX = x1 - x2
                DeltaY = y1 - y2
 
                Dim Steigung As Double
                Steigung = Math.Atan2(DeltaY , DeltaX ) * 180 / Math.PI
 
                Msgbox("DeltaX =" & DeltaX & "DeltaY =" & DeltaY & "Steigung =" & Steigung & "SteigungVorher =" & SteigungVorher )
                If Steigung > Diff Then VerfahrwegKappa = Steigung - SteigungVorher Else VerfahrwegKappa  = SteigungVorher - Steigung 
 
                msgbox("Verfahrweg= " & Verfahrweg)
                SteigungVorher = Steigung 
 
 



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
tobias3107 hat die Antworten auf ihre/seine Frage gesehen.
tobias3107 hat selbst das Ok-Häkchen gesetzt.
tobias3107 wird per Mail über neue Antworten informiert.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]