View Full Version : Rette e misure con il PC
visodont
28-05-2004, 20:47
Come posso fare per misurare la lunghezza ( in twip ) di una retta che disegno su un' immagine con Line (x,y) - (XX,YY)
E come misurare l' angolo formato da due rette ottenute nello steso modo che perņ non si incontrano a formare un angolo ?
Immaginiamo che le coordinate dei punti di inizio e fine della prima e della seconda retta siano :
1° retta X= 1000 Y= 500 e X1 = 2000 Y1= 300
__________________________________________________
2° Retta X2= 300 Y2= 600 e X2 = 3000 Y2= 4000
Mi racomando non il linguaggio matematico ma i linguaggio VB6
Grazie,
Visodont
Mi spiace se volevi la speigazione matematica potevo aiutarti... in vb6 non so proprio cosa dire! :D
Ciao, McK
Per il secondo punto: devi calcolare semplicemente il coefficente angolare delle due rette:
' Prima retta
Double Coeff_ang_1 = (Y1 - Y) / (X1 - X)
' Seconda retta
Double Coeff_ang_2 = (Y3 - Y2) / (X3 - X2)
A questo punto puoi ricavare l'angolo formato con l'asse X con l'arcotangente:
Double Ang_1 = Atan(Coeff_ang_1)
Double Ang_2 = Atan(Coeff_ang_1)
E l'angolo tra le due rette č dato dalla differenza tra i due:
Double Angolo = Ang_1 - Ang_2
Naturalemente puoi trovare anche l'angolo supplementare, che vale:
Ang_supp = 180 - Angolo
Scusa per la sintassi, č un po' che non programmo in VB, ma i concetti dovrebbero essere giusti.
Per il primo punto, potresti calcolare la lunghezza di una in linea in Pixel (col teorema di Pitagora) e poi usare la trasformazione (non mi ricordo se c'č un modo diretto in VB):
Pixel -> Pollici -> Twip
Se non ricordo male,
1 pollice = 1440 Twip
Mentre il rapporto Pixel / Pollici dipende dalla risoluzione del tuo schermo: ad esempio, se hai un 15" (diagonale), con rapporto X / Y pari a 4/3 (lo standard), avrai
Y = 3 / 5 * 15 " = 9"
e
X = 4 / 3 * 9" = 12"
Se sei a 800 x 600, questo implica per la X un rapporto di
800 pixel / 12 pollici = 200 / 3 pixel / pollice
e per la Y:
600 pixel / 9 pollici = 200 / 3 pixel / pollice
Che sono uguali ( ;) ).
Il resto lo lascio a te...
visodont
30-05-2004, 10:28
Grazie mille per la spiegazione e per la vostra gentilezza.
Proverņ.
Grazie ancora.
Zeno
Visodont
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.