PDA

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

McK
29-05-2004, 09:47
Mi spiace se volevi la speigazione matematica potevo aiutarti... in vb6 non so proprio cosa dire! :D

Ciao, McK

Mixmar
30-05-2004, 07:55
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