La distancia y el rumbo entre dos puntos en un globo se pueden calcular utilizando dos fórmulas . El problema está bien definido y sirve como una tarea fácil para un lenguaje de programación como Visual Basic . Sin embargo, hay que elegir entre un curso inalterable recta ( líneas de rumbo ) o un curso de curva más eficiente que se aprovecha de la curvatura de la Tierra. Instrucciones
1
Crear un nuevo proyecto haciendo clic en "Archivo" y "Nuevo proyecto ".
2
Drag cuatro etiquetas de la caja de herramientas y en su proyecto y las presenta en una línea que va de arriba a abajo. Haga clic en cada etiqueta y , en el cuadro de propiedades , cambie el campo de texto para que se lea "Latitude inicio ", "Terminar con Latitude, " "A partir de Longitud ", " Longitud de clausura . "
3
Arrastre cuatro cuadros de texto fuera de la caja de herramientas y un lugar justo a la derecha de cada etiqueta . Haga clic en cada cuadro de texto y, en el cuadro de propiedades , cambie el campo nombre para reflejar los nombres siguientes: ". StartLatTextBox ", " endLatTextBox ", " startLongTextBox ", " endLongTextBox "
4
Arrastre un botón de la caja de herramientas y lo puso en la parte inferior del proyecto. . Haga doble clic en él para entrar en el editor de código
5
Pega el siguiente en el método de " Button1_Click ":
listón Dim = 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 - lamas)
Dim dLong = D2R ( eLong - slong )
Dim dphi = Math.Log ( Math.tan (Elat /2 + Matemáticas . PI /4 ) /Math.tan ( listón /2 + Math.PI /4 ))
Dim q = Nuevo Doble
Si ( dphi = 0 ) entonces
< p > q = Math.Cos ( lamas)
demás
q = dLat /dphi
End If
Si ( Math.Abs ( dLong ) > ; Math.PI ) Entonces
IIf ( dLong > 0 , dLong = ( 2 * Math.PI - dLong ) * -1 , dLong = 2 * Math.PI + dLong )
End If
earthRadius Dim = 6.371 kilometros REM
distancia Dim = Math.Sqrt ( dLat ^ 2 + q ^ 2 * dLong ^ 2 ) * earthRadius
rodamiento Dim = Math.atan2 ( dLong , dphi )
cojinete rodamiento = * 180 /Math.PI
MessageBox.Show ( " distancia = " & distancia & ". Course =" & cojinete ) < br >
el código anterior hace uso de una función que aún no existe , por lo pegue el siguiente código justo debajo del " fin de la función " declaración de " D2R " (en grados a radianes ) " Button1_Click ".
< p > Public Function D2R ( Angle ByVal As Double ) As Double
D2R = ángulo * Math.PI /180
End Function
6
clic en la flecha verde para iniciar el programa. Ahora puede introducir cualquier par de coordenadas de latitud y longitud (en formato decimal) y encontrar la distancia entre ellos (en kilómetros ) y la demora ( en grados) para llegar al destino .