Werbung
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,
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!
"Der Mensch wächst am Widerstand" (Werner Kieser)
Lesezeichen