Afstanden og forløb mellem to punkter på en globus kan beregnes ved hjælp af to formler. Problemet er veldefineret , og fungerer som en nem opgave for et programmeringssprog som Visual Basic. Dog skal der vælges mellem en straight, uforanderlig kursus ( geodætiske linjer ) eller en mere effektiv buet kursus, der drager fordel af kurven af Jorden. Instruktioner
1
Opret et nyt projekt ved at klikke på "File " og " Nyt projekt ".
2
Drag fire etiketter ud af værktøjskassen og ind i dit projekt og arrangere dem i en linje fra top til bund . Klik på hver etiket , og i ejendomme boksen tekstfeltet ændre sig så , at de læser "Start Latitude ", " Ending Latitude ", "Start længdegrad , " " Ending længdegrad . "
3 < p > Træk fire tekstbokse ud af værktøjskassen og sted én lige til højre for hver etiket . Klik på hver tekstboks , og i egenskabsboksen , navnefeltet skifte for at afspejle følgende navne: ". StartLatTextBox ", " endLatTextBox ", " startLongTextBox ", " endLongTextBox "
4
Træk en knap fra værktøjskassen og sætte det i bunden af projektet. . Dobbeltklik på den for at indtaste koden editor
5
Indsæt følgende i " Button1_Click "-metoden : Hej
Dim lamel = Double.Parse ( startLatTextBox.Text )
Dim slong = Double.Parse ( startLongTextBox.Text )
Dim Elat = Double.Parse ( endLatTextBox.Text )
Dim eLong = Double.Parse ( endLongTextBox.Text ) < br >
Dim dLat = D2R (Elat - Slat )
Dim dLong = D2R ( eLong - slong )
Dim DPHI = Math.Log ( Math.Tan (Elat /2 + Math . PI /4) /Math.Tan ( lamel /2 + Math.PI /4) )
Dim q = Ny Double
p Hvis ( DPHI = 0) Så
< p > q = Math.cos ( lamel )
Else
q = dLat /DPHI
End If
p Hvis ( Math.Abs ( dLong ) > ; Math.PI ) Så
IIf ( dLong > 0 , dLong = (2 * Math.PI - dLong ) * -1, dLong = 2 * Math.PI + dLong )
End If
Dim earthRadius = 6371 REM kilometer
Dim distance = Math.sqrt ( dLat ^ 2 + q ^ 2 * dLong ^ 2) * earthRadius
Dim leje = Math.Atan2 ( dLong , DPHI )
leje = leje * 180 /Math.PI
MessageBox.Show ( " Afstand = " & distance & " . Kursus = " & leje) < br >
ovenstående kode gør brug af en " D2R " ( grader til radianer ) funktion , der ikke eksisterer endnu, så indsæt følgende kode direkte under "end funktionen " erklæring for " Button1_Click . "
Public Function D2R ( ByVal Angle som dobbelt ) som dobbelt
D2R = Vinkel * Math.PI /180
End Function
6
Klik på den grønne pil for at starte dit program. Du kan nu indtaste hvilket som helst par længde-og breddegraderne ( i decimal format) , og finde afstanden mellem dem ( i kilometer ) og leje ( i grader ) for at nå destinationen .
< br >