Calcolo Pothenot (Intersezione inversa)
Si propone la soluzione del calcolo del problema di Snelluis – Pothenot.
Questa proposta utilizza un insieme di formule adatto alla elaborazione con software.
Sub Pothenot(ByRef X1
ByRef
ByRef
ByRef
ByRef
As Double, ByRef Y1 As Double, ByRef Z1 As Double, _
X2 As Double, ByRef Y2 As Double, ByRef Z2 As Double, _
X3 As Double, ByRef Y3 As Double, ByRef Z3 As Double, _
X5 As Double, ByRef Y5 As Double, ByRef Z5 As Double, _
Alfa As Double, ByRef Beta As Double, ByRef A0 As Integer)
Dim TA As Double, TempT As Double, AZ As Double
Dim TempL As Double, TempH As Double
'determina le coordinate della stazione caso per caso
A0 = 1
TA = Math.Tan(Alfa * CR)
If Math.Abs(TA) < 0.0000001 Then A0 = 8 : Exit Sub
TempL = (X2 - X1) * (1 / TA) + (X1 - X3) * (1 / Math.Tan(Alfa * CR + Beta * CR)) + Y3 - Y2
TempH = (Y2 - Y1) * (1 / Math.Tan(Alfa * CR)) + (Y1 - Y3) * (1 / Math.Tan(Alfa * CR + Beta *
CR)) + X2 - X3
'caso non determinabile
If TempH = 0 Then A0 = 8 : Exit Sub
8220:
If TempL = 0 And TempH >= 0 Then TempT = 0 : GoTo
If TempL = 0 And TempH < 0 Then TempT = Math.PI :
If TempH = 0 And TempL > 0 Then TempT = Math.PI /
If TempH = 0 And TempL < 0 Then TempT = Math.PI /
TempT = Math.Atan(TempL / TempH)
If TempH < 0 Then TempT = Math.PI + TempT
If TempT < 0 Then TempT = 2 * Math.PI + TempT
AZ = TempT
8220
GoTo 8220
2 : GoTo 8220
2 * 3 : GoTo 8220
Y5 = (X2 - X1 + Y1 * TempL / TempH - Y2 * Math.Tan(AZ + Alfa * CR)) / (Math.Tan(AZ) Math.Tan(AZ + Alfa * CR))
X5 = X1 + (Y5 - Y1) * Math.Tan(AZ)
Z5 = 0
End Sub
Il programma propone una interfaccia minima, utilizzando per la scrittura e lettura dei dati due caselle di testo. Si è
scelto di utilizzare la modalità di scrittura dei dati e risultati in analogia con la rappresentazione catastale Pregeo.
Gli angoli rilevati sono rappresentati in una struttura tipo Libretto delle Misure con r1 riga 1 (stazione) e 3 righe 2
(Punto Battuto) e desunti dal libretto stesso.
Questa interfaccia permette l’agevole digitazione dei dati o l’utilizzo dei comandi di editor testuale del Copia/Incolla.
Chiaramente, a parte la formula di calcolo, tutto il resto non è assolutamente ottimizzato.
Eseguibile
Il file eseguibile potrà essere posizionato in qualsiasi PC con Vista, Win7,Win8 senza problemi o sistemi operativi
precedenti nei quali sia installato Visual Basic Express 10 o il Framework relativo.
Sorgente
Il codice sorgente è presente in una apposita cartella e contiene tutto quanto serve per una eventuale modifica o
adattamento da parte dell’utente.
Consigli
Saranno graditi consigli e dimostrazioni di approvazione
Geom. Udino Ranzato
Scarica

Calcolo Intersezione Inversa Pothenot