Come calcolare Azimuth tra i punti in VB

September 3

Un azimut è un nome dal suono complicato per un relativamente semplice, concetto matematico. Un azimut è essenzialmente l'angolo tra una linea e un'altra linea di riferimento. Normalmente viene calcolato per un punto, non una linea, in modo che le linee sono formate scegliendo un punto centrale e, che agisce come un endpoint sia per la linea di riferimento e la linea per il quale si desidera calcolare l'azimut. Con i suoi potenti strumenti matematici, calcolando l'azimut in VB è un gioco da ragazzi.

istruzione

1 Digitare le seguenti dichiarazioni nella parte superiore del vostro codice VB:

Public Const Pi As Double = 3.14159 26535 89.793

AngleRadians fioco come doppio

Dim Azimuth As Double

X1 Dim as Integer

Y1 Dim as Integer

X2 Dim as Integer

Y2 Dim as Integer

Aumento Dim As Double 'coordinata Y o laterale angolo opposto

Dim Run As Double 'coordinata X o lato adiacente l'angolo

2 Assegnare i valori delle coordinate X e Y per i due punti. Ad esempio, se il punto di riferimento è a coordinate 2,2 e il secondo punto è a 3,4, utilizzare il codice:

X1 = 2

Y1 = 2

X2 = 3

Y2 = 4

3 Calcolare la distanza verticale tra i due punti.

Aumento = Y2 - Y1

4 Calcolare la distanza orizzontale tra i due punti.

Run = X2 - X1

5 Calcolare il Arctan della distanza orizzontale divisa per la distanza verticale:

AngleRadians = Atn (salita / Run)

Azimuth = angleRadians * 180 / Pi

6 Regolare i risultati a seconda che le distanze orizzontali e verticali sono positivi o negativi. Se entrambi sono positivi, si è fatto. Se solo la distanza verticale è negativo, aggiungere 180 gradi per la risposta al punto 3. Se entrambi sono negativi, aggiungere 180 gradi. Se solo la distanza orizzontale è negativo, aggiungere 360 ​​gradi.

Se aumento <0 Then

Azimuth = Azimuth + 180

Altrimenti Se Esegui <0 Then

Azimuth = Azimuth + 360

Finisci se

Consigli e avvertenze

  • Ci sono più adeguati strumenti di programmazione per il calcolo di questo valore, come ad esempio MatLab e Maple.