Hi,
also es ist mal wieder zum Haare raufen
Ich muss den AscCos ausrechen und ich komm nicht auf das Ergebniss
wie mit den Taschenrechner das allerdings richtig ist!
Arkuskosinus(x) = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)
wäre die Funktion für den AscCos (Invert Cosinus oder Cos-1)
füge ich nun an der Stelle X meine Bsp.-Wert ein 0.4614 kommt immer
1,091223762 raus und nicht die 65.34 ° was rauskommen sollen.
Was mach ich den Bitte falsch
Danke für eure Hilfe.
By Ulli
Vllt noch zur Orientierung: "radiant" heißt im Deutschen "Bogenmaß".
Umrechnen kann man das ganze wie folgt:
Von Bogenmaß nach Grad: Wert mit 57.296 multiplizieren (Genau: 180/Pi)
Von Grad nach Bogenmaß: Wert mit 0.01745 multiplizieren (Genau: Pi/180)
Gruß, Trabukh
"Der Mensch wächst am Widerstand" (Werner Kieser)
Hi,
ja habe es nun so gemacht.
Point1_Lati = (Text1.Text + (Text2.Text / 60) + (Text3.Text / 3600))
Point1_Longi = -(Text4.Text + (Text5.Text / 60) + (Text6.Text / 3600))
Point2_Lati = (Text7.Text + (Text8.Text / 60) + (Text9.Text / 3600))
Point2_Longi = -(Text10.Text + (Text11.Text / 60) + (Text12.Text / 3600))
L1 = Point1_Lati
L2 = Point1_Longi
G1 = Point2_Lati
G2 = Point2_Longi
Text15.Text = L1
Text16.Text = L2
Text17.Text = G1
Text18.Text = G2
D1 = Sin(L1) * Sin(G1) + Cos(L1) * Cos(G1) * Cos(L2 - G1)
Text19.Text = D1
Text20.Text = Cos(L2 - G1)
D2 = Format(Cos(D1) * 180 / Pi, "0.000")
Text13.Text = D2 * 60 'Entfernung
Text14.Text = D2 'Winkel zum Ziel
Warumn bekomme ich andere Ergebisse als wie mit meinen Taschenrechner?
---> φ1 = 41° 09' 28,0" N = 41,1578°, λ1 = 008° 38' W = -8,6333°
---> φ2 = 0° 40' 19,9" N = 0,6722°, λ2 = 061° 32' W = -61,5333°
->cos c = sin φ1 · sin φ2 + cos φ1 · cos φ2 · cos (λ1 - λ2)
---> 0,4618 = c = 62,5° = 3749' = 3749 sm
So ich komm mit den obigen Programm nicht drauf???
Was mach ich den falsch??
Danke Leute
Hier wurden die Klammern vergessen!D2 = Format(Cos(D1) * 180 / Pi, "0.000")
D2 = Format(Cos(D1) * (180 / Pi), "0.000")
Gruß, Trabukh
"Der Mensch wächst am Widerstand" (Werner Kieser)
Hi,
kommt auch mit der Klammer das falsche raus *grrrr*
I komm net weiter
Will Geographische Daten Grad'Minuten'Secunden Start -->Ziehl ausrechnen Winkel und Entfernung mit VB aber irgendwie wills net
Evtl. noch jemand ne Lösung?
by Ulli
Hi,
so ich habs
VB kann des nicht auf den direkten weg und somit hab ich mich mal auf die Suche nach Funktionen gemacht!
Bin auch fündig geworden und man mus es zuvor auf Deg2 umrechen!
Sieht nun wie folgt aus.
Code:Option Explicit Dim Lat1 Dim Lon1 Dim Lat2 Dim Lon2 Dim L1 Dim L2 Dim G1 Dim G2 Const pi = 3.14159265358979 Function acos(rad) If Abs(rad) <> 1 Then acos = pi / 2 - Atn(rad / Sqr(1 - rad * rad)) ElseIf rad = -1 Then acos = pi End If End Function Function deg2rad(Deg) deg2rad = CDbl(Deg * pi / 180) End Function Function rad2deg(rad) rad2deg = CDbl(rad * 180 / pi) End Function Private Sub Command1_Click() Lat1 = (Text1.Text + (Text2.Text / 60) + (Text3.Text / 3600)) Lon1 = -(Text4.Text + (Text5.Text / 60) + (Text6.Text / 3600)) Lat2 = (Text7.Text + (Text8.Text / 60) + (Text9.Text / 3600)) Lon2 = -(Text10.Text + (Text11.Text / 60) + (Text12.Text / 3600)) L1 = Lat1 L2 = Lon1 G1 = Lat2 G2 = Lon2 Text15.Text = L1 Text16.Text = L2 Text17.Text = G1 Text18.Text = G2 Dim theta, dist, distance, Deg theta = Lon1 - Lon2 dist = Sin(deg2rad(Lat1)) * Sin(deg2rad(Lat2)) + Cos(deg2rad(Lat1)) * Cos(deg2rad(Lat2)) * Cos(deg2rad(theta)) dist = acos(dist) dist = rad2deg(dist) distance = Format(dist * 60, "0.000") Deg = Format(dist, "0.000") Text14.Text = Deg Text13.Text = distance End Sub
So gehts nun, also damit kann man leben
Und ab jetzt wird es erst Interessant!
Es kommen GPS Daten hinzu und Log Daten
Und zur Fehlerkorrektur kommt noch ein Privates DGPS dazu
Wird also noch a bissl Arbeit
by Ulli
Tipps immer gerne willkommen!
Hmm, komisch. Ich habe neulich eine Billiardsimulation mit VB gemacht, da ging das mit den Winkeln prima... komisch... ???
Aber schön, dass es jetzt doch endlich geklappt hat!
Gruß, Trabukh
EDIT: Ich weiß jetzt, warum es bei dir nicht ging, die Grad-Variable MUSS als Double deklariert werden!!!
"Der Mensch wächst am Widerstand" (Werner Kieser)
Hi,
hatte ich zuvor auch als Double
By Ulli
Naja, ansonsten fehlt bei deinem ersten Code nur noch die Konstante PI! Und die Werte L1, L2, G1 und G2 müssen auch vor den trigonometrischen Funktion umgerechnet werden. Aber das ist ja jetzt auch egal, Hauptsache, es funktioniert...
Gruß, Trabukh
"Der Mensch wächst am Widerstand" (Werner Kieser)
Lesezeichen