MEDIR DISTANCIA

USUARIO.EXCLUIDOS 14/07/2005 09:20:08
#94074
Preciso do seguinte: fazer com que o usuario clique em um ponto do picture marcando o ponto "A" e depois clique em outro ponto do picture "B", em seguida ... crie uma linha q una os dois pontos e mostre a distancia entre eles.

Ja tentei de tudo e não consegui..... Por Favor me ajudem !
PAGANINI 14/07/2005 09:24:35
#94076
é Simples ao clicar no primeiro ponto tu salva a posição X e Y em variaveis e ao clicar no segundo ponto tu cria um Line(Objeto) com as posicões X1 e Y1 das variaveis e X2 e Y2 da posicao atual.

Para saber a distancia basta tu saber que o quadrado da hipotenusa é igual a soma do quadrado dos catetos.

A sua linha seria a hipotenusa, caso o X1 e X2 serem iguais basta fazer a diferença de y2 com y1 o mesmo se aplica se o Y1 e Y2 serem iguais
USUARIO.EXCLUIDOS 14/07/2005 09:47:25
#94081
Poderia me ajudar nos calculos ????
Sei la .... dando um exemplo
PAGANINI 14/07/2005 10:17:04
#94085
Na hora do almoço vou bolar um exemplo
PAGANINI 14/07/2005 10:32:01
#94088
Não me aguentei

Você crie um Form para o exemplo coloque um
PictureBox com nome picture1
Line com nome Linha com index = 0 e visible false

e adicione o seguinte codigo

Option Explicit
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static Situacao As Boolean
Static XX As Single
Static YY As Single
Situacao = Not Situacao
If Situacao Then
XX = X
YY = Y
Else
Load Linha(Linha.Count)
Linha(Linha.UBound).X1 = XX
Linha(Linha.UBound).Y1 = YY
Linha(Linha.UBound).X2 = X
Linha(Linha.UBound).Y2 = Y
Linha(Linha.UBound).Visible = True

MsgBox "A distancia é igual a " & CalculaDistancia(XX, YY, X, Y)
End If
End Sub
Function CalculaDistancia(X1 As Single, Y1 As Single, X2 As Single, Y2 As Single) As Single
Dim TX As Single
Dim TY As Single
TX = Abs(X2 - X1)
TY = Abs(Y2 - Y1)
CalculaDistancia = Sqr((TX ^ 2) + (TY ^ 2))
End Function
Tópico encerrado , respostas não são mais permitidas