Você está aqui: C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a distância entre dois pontos no plano em C - C para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 523 vezes |
Como calcular a Distância Euclidiana entre dois pontos usando C. Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em C é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço). Comece analisando a imagem abaixo: ![]() Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y). Veja a fórmula: \[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\] Agora, jogando os valores dos dois pontos da fórmula nós teremos: \[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\] Que resulta em 6,32 (aproximadamente). E agora veja o código C completo que lê as coordenadas dos dois pontos e mostra a distância entre eles: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <math.h> // função que permite calcular a distância // entre dois pontos no plano (R2) float distancia2d(float x1, float y1, float x2, float y2); // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema float x1, y1, x2, y2, distancia; // vamos ler os dados do primeiro ponto printf("Informe o x do primeiro ponto: "); scanf("%f", &x1); printf("Informe o y do primeiro ponto: "); scanf("%f", &y1); // vamos ler os dados do segundo ponto printf("Informe o x do segundo ponto: "); scanf("%f", &x2); printf("Informe o y do segundo ponto: "); scanf("%f", &y2); // vamos obter a distância entre eles distancia = distancia2d(x1, y1, x2, y2); printf("Distância entre os dois pontos: %f", distancia); printf("\n\n"); system("PAUSE"); return 0; } // função que permite calcular a distância // entre dois pontos no plano (R2) float distancia2d(float x1, float y1, float x2, float y2){ float a = x2 - x1; float b = y2 - y1; float c = sqrt(pow(a, 2) + pow(b, 2)); return c; } Ao executarmos este código nós teremos o seguinte resultado: Informe o x do primeiro ponto: 3 Informe o y do primeiro ponto: 6 Informe o x do segundo ponto: 9 Informe o y do segundo ponto: 4 Distância entre os dois pontos: 6.324555320336759 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |