Você está aqui: C++ ::: C++ para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular vetor unitário em C++ - C++ para Física e EngenhariaQuantidade de visualizações: 657 vezes |
Um vetor unitário ou versor num espaço vetorial normado é um vetor (mais comumente um vetor espacial) cujo comprimento ou magnitude é 1. Em geral um vetor unitário é representado por um "circunflexo", assim: __$\hat{i}__$. O vetor normalizado __$\hat{u}__$ de um vetor não zero __$\vec{u}__$ é o vetor unitário codirecional com __$\vec{u}__$. O termo vetor normalizado é algumas vezes utilizado simplesmente como sinônimo para vetor unitário. Dessa forma, o vetor unitário de um vetor __$\vec{u}__$ possui a mesma direção e sentido, mas magnitude 1. Por magnitude entendemos o módulo, a norma ou comprimento do vetor. Então, vejamos a fórmula para a obtenção do vetor unitário: \[\hat{u} = \dfrac{\vec{v}}{\left|\vec{v}\right|}\] Note que nós temos que dividir as componentes do vetor pelo seu módulo de forma a obter o seu vetor unitário. Por essa razão o vetor nulo não possui vetor unitário, pois o seu módulo é zero, e, como sabemos, uma divisão por zero não é possível. Veja agora o código C++ que pede as coordenadas x e y de um vetor 2D ou R2 e retorna o seu vetor unitário: #include <iostream> #include <math.h> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema double x, y, norma, u_x, u_y; // vamos ler os valores x e y cout << "Informe o valor de x: "; cin >> x; cout << "Informe o valor de y: "; cin >> y; // o primeiro passo é calcular a norma do vetor norma = sqrt(pow(x, 2) + pow(y, 2)); // agora obtemos as componentes x e y do vetor unitário u_x = x / norma; u_y = y / norma; // mostra o resultado cout << "O vetor unitário é: (x = " << u_x << "; y = " << u_y << ")"; cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Informe o valor de x: -4 Informe o valor de y: 6 O vetor unitário é: (x = -0.5547001962252291; y = 0.8320502943378437 Veja agora uma modificação deste código para retornarmos o vetor unitário de um vetor 3D ou R3, ou seja, um vetor no espaço: #include <iostream> #include <math.h> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema double x, y, z, norma, u_x, u_y, u_z; // vamos ler os valores x, y e z cout << "Informe o valor de x: "; cin >> x; cout << "Informe o valor de y: "; cin >> y; cout << "Informe o valor de z: "; cin >> z; // o primeiro passo é calcular a norma do vetor norma = sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2)); // agora obtemos as componentes x e y do vetor unitário u_x = x / norma; u_y = y / norma; u_z = z / norma; // mostra o resultado cout << "O vetor unitário é: (x = " << u_x << "; y = " << u_y << "; z = " << u_z << ")"; cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executarmos este novo código nós teremos o seguinte resultado: Informe o valor de x: 3 Informe o valor de y: 7 Informe o valor de z: 5 O vetor unitário é: (x = 0.329292779969071; y = 0.7683498199278324; z = 0.5488212999484517 |
![]() |
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 |