[Ajuda] Como calcular a distancia entre 2 pontos?
#1

Apenas por curiosidade, como se calcula a distancia entre 2 pontos tridimencionais (X,Y,Z)?

Eu sei que existe o GetPlayerDistanceFromPoint(.....) sei atй como usa-lo...

Porem por questхes de curiosidades, supondo que tenho

Ponto A (X, Y, Z);
Ponto B (PX, PY, PZ);

Como calculo a distancia entre eles?
Reply
#2

PHP код:
FloatGetDistance2D(Floatx1Floaty1,  Floatz1Floatx2Floaty2Floatz2)
{
    return 
floatsqroot(
        
floatpower(floatabs(floatsub(x2x1)), 2.0) + 
        
floatpower(floatabs(floatsub(y2y1)), 2.0) + 
        
floatpower(floatabs(floatsub(z2z1)), 2.0)
    );

Reply
#3

Tendo o ponto A e B e as coordenadas X, Y e Z:



Passando essa fуrmula para Pawn fica igual o amigo acima fez.

Fonte: http://mundoeducacao.bol.uol.com.br/...-no-espaco.htm
Reply
#4

Faзa bom uso.

Код:
stock GetDistance(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2)
	return floatround(floatsqroot(((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2)) + ((z1 - z2) * (z1 - z2))));
Reply
#5

Existe uma funзгo nativa para fazer isso (mas rбpido que qualquer matemбtica).
Use a seguinte stock que acabei de fazer:
Код:
forward Float:GetDistancePointToPoint(Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2);
stock Float:GetDistancePointToPoint(Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2) return VectorSize(X1-X2, Y1-Y2, Z1-Z2);
Reply
#6

Valeu Pessoal! Consegui!

OBS Estava querendo saber para fazer o teste de desempenho!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)