Funktion im rechtwinklichen Dreieck

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Funktion im rechtwinklichen Dreieck

Beitrag von dysti »

Hallo,
irgendwie stehe ich total auf dem Schlauch. :oops:

Code: Alles auswählen

;GegenK = 400
;AnK = 200
;Hyp =447
;sin =1.1
;sin_grad= 63.44
;Winkel.f = (ATan(GegenK/AnK)*360)/(2*#PI)
;Debug Winkel
;Debug ATan(GegenK/AnK)

a = 400
b = 200
Winkel.f = (ATan(a/b)*360)/(2*#PI)
Debug Winkel
Debug ATan(a/b)


a=200
b=400
c=Sqr((a*a)+(b*b))
Debug c

a=200
c=447
b=Sqr((c*c)-(a*a))
Debug b

b=400
cosa=
c=b/Cos(cosa)
Debug c

a=200
sina=
c=a/Sin(sina)
Debug c
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Funktion im rechtwinklichen Dreieck

Beitrag von STARGÅTE »

>> irgendwie stehe ich total auf dem Schlauch.
Dann geht halt runter vom Schlauch :freak:

Wo ist deine Frage ?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
jojo1541
Beiträge: 431
Registriert: 15.09.2007 17:12
Wohnort: Irgendwo im Nirgendwo

Re: Funktion im rechtwinklichen Dreieck

Beitrag von jojo1541 »

STARGÅTE hat geschrieben: Wo ist deine Frage ?
Wo ist der Schlauch hin? :lol:
Ich verkaufe Rechtschreibfehler und jede menge GROßBUCHSTABEN. Alles unbegrenzt zu haben.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Funktion im rechtwinklichen Dreieck

Beitrag von dysti »

..die letzten beiden Formeln ( Cosinus- und Sinus-Alpha).
Raus kommen sollte c, wenn a oder b und der winkel bekannt ist.
Krieg ich im Moment einfach nicht hin.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Funktion im rechtwinklichen Dreieck

Beitrag von STARGÅTE »

*Bahnhof*, vermutlich komme ich mit deiner Notation nicht klar :?

Wenn der Winkel bekannt ist, warum dann berechnen ?
und wenn der jeweils andere Winkel gegene ist, ergibt sich der andere aus 90-Winkel (wegen 180=Rechterwinkel+Alpha+Beta)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Funktion im rechtwinklichen Dreieck

Beitrag von dysti »

Also,
ich weiß ich nicht was ich bei cosa= oder sina= angeben soll.
Alles was ich eintrage, ich bekomme nicht die richtige Länge heraus.

Die Formel sind:

c= a / sin(alpha)
oder
c= b / cos(alpha)

Diese Formeln wollte ich nachbilden und die Länge c=447 sollte ausgegeben werden, nur rein als Lernzweck.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Funktion im rechtwinklichen Dreieck

Beitrag von STARGÅTE »

Na einfach den Winkel ...

Beachte aber das du Float haben musst !

Und den Winkel den du da benutzt ist halt 90- deine 63.44
weil du mit der andere Seite rechnest, sonst musst du Cos und Sin tauschen

Code: Alles auswählen

b=400
cosa.f=Radian(90-63.44)
c=b/Cos(cosa)
Debug c


a=200
sina.f=Radian(90-63.44)
c=a/Sin(sina)
Debug c
oder halt:

Code: Alles auswählen




b=400
cosa.f=Radian(63.44)
c=b/Sin(cosa)
Debug c


a=200
sina.f=Radian(63.44)
c=a/Cos(sina)
Debug c
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: Funktion im rechtwinklichen Dreieck

Beitrag von dysti »

Danke @STARGÅTE

Nachtrag:
Durch den Hinweis auf den neuen PB-Befehl in 4.5: "Radian()" hat @STARGÅTE auf einen grundsätzlichen
Fehler aufmerksam gemacht, der auch in den Foren immer wieder auftaucht:
Man vergißt die Umrechnung der Bogenmaße.

Hier nun der Code nach den Formeln, wie er auch in den Lehrbücher steht:

Code: Alles auswählen

a=200 ;Ankathete
b=400 ;Gegenkathete
;c=447 ;Hypotenuse

;- die Formeln
c=Sqr((a*a)+(b*b))
Debug "Die Länge der Hypotenuse ist :  "+ Str(c)

alpha.f = (ATan(a/b)*360)/(2*#PI)
Debug "Der Winkel alpha ist : " +StrF(alpha) + " Grad"

b=Sqr((c*c)-(a*a))
Debug "Die Länge der Gegenkathete ist: "+ Str(b)

bwinkel.f=2*#PI*alpha/360 ;ausführliche Bogenmaßumrechnung

a=200
c=a/Sin(bwinkel)
Debug "Die Länge der Hypotenuse ist :  "+ Str(c)

b=400
c=b/Cos(bwinkel)
Debug "Die Länge der Hypotenuse ist :  "+ Str(c)

;neuere PB-Version vereinfacht die Sache
pbwinkel.f=Radian(alpha) ;ab PB 4.5

a=200
c=a/Sin(pbwinkel)
Debug "Die Länge der Hypotenuse ist :  "+ Str(c)

b=400
c=b/Cos(pbwinkel)
Debug "Die Länge der Hypotenuse ist :  "+ Str(c)
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Antworten