Una cantidad vectorial es una cantidad que posee tanto magnitud como dirección. Aquí, la magnitud es simplemente la cantidad o el tamaño de la cantidad y la dirección es hacia donde se dirige la cantidad. Por ejemplo, considere la declaración «Vaya 20 millas al norte». En el enunciado anterior, 20 es la magnitud y el Norte es la dirección.
Ejemplos :
Input : Store and display vector with components 3, 4, 5. Output : 3i + 4j + 5k Input : Dot Product for V1 = (1, 3, 5), V2 = (2, 3, 0) Output : 11 where i, j, k are unit vectors in x, y and z directions respectively.
En general, un vector se representa como:
V = Xi + Yj + Zk
Donde, X, Y y Z son la magnitud del vector V en las direcciones i, j y k respectivamente.
Varias operaciones que se pueden realizar en Vectores:
- Suma de vectores: La suma de vectores se realiza sumando las magnitudes X, Y y Z correspondientes de los dos vectores para obtener el vector resultante.
Ejemplo:
v1 = 1i + 2j + 3k
v2 = 3i + 2j + 1k
Por lo tanto, el vector resultante, v = v1 + v2 = 4i + 4j + 4k - Producto escalar de vectores: El producto escalar de dos vectores v1 y v2 se calcula como:
v = v1 . v2 = magnitude(v1)*magnitude(v2)*Cos(θ) Where, θ is the angle between the vectors v1 and v2.
Ejemplo:
v1 = 1i + 2j + 3k
v2 = 3i + 2j + 1k
Por lo tanto, v = v1 . v2 = 3 + 4 + 3 = 10 - Producto vectorial de vectores: el producto vectorial de vectores se realiza mediante el uso de determinantes para los vectores a = axi + ayj + azk y b = bxi + byj + bzk
c = a X b = i(ay*bz – by*az) – j(ax*bz – az*bx) + k(ax*by – bx*ay)
Ejemplo:
v1 = 3i + 4j + 2k
v2 = 6i + 3j + 9k
Por lo tanto, v = v1 X v2 = 30i – 15j – 15k
A continuación se muestra la implementación de las operaciones anteriores utilizando la clase en C++:
#include <cmath> #include <iostream> using namespace std; class Vector { private: int x, y, z; // Components of the Vector public: Vector(int x, int y, int z) { // Constructor this->x = x; this->y = y; this->z = z; } Vector operator+(Vector v); // ADD 2 Vectors Vector operator-(Vector v); // Subtraction int operator^(Vector v); // Dot Product Vector operator*(Vector v); // Cross Product float magnitude() { return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2)); } friend ostream& operator<<(ostream& out, const Vector& v); // To output the Vector }; // Addition of vectors Vector Vector::operator+(Vector v) { int x1, y1, z1; x1 = x + v.x; y1 = y + v.y; z1 = z + v.z; return Vector(x1, y1, z1); } // Subtraction of vectors Vector Vector::operator-(Vector v) { int x1, y1, z1; x1 = x - v.x; y1 = y - v.y; z1 = z - v.z; return Vector(x1, y1, z1); } // Dot product of vectors int Vector::operator^(Vector v) { int x1, y1, z1; x1 = x * v.x; y1 = y * v.y; z1 = z * v.z; return (x1 + y1 + z1); } // Cross product of vectors Vector Vector::operator*(Vector v) { int x1, y1, z1; x1 = y * v.z - z * v.y; y1 = z * v.x - x * v.z; z1 = x * v.y - y * v.x; return Vector(x1, y1, z1); } // Display Vector ostream& operator<<(ostream& out, const Vector& v) { out << v.x << "i "; if (v.y >= 0) out << "+ "; out << v.y << "j "; if (v.z >= 0) out << "+ "; out << v.z << "k" << endl; return out; } // Driver program int main() { // Let us Take the vector quantites : // V1 = 3i + 4j + 2k // V2 = 6i + 3j + 9k Vector V1(3, 4, 2), V2(6, 3, 9); cout << "V1 = " << V1; cout << "V2 = " << V2; cout << "V1 + V2 = " << (V1 + V2); cout << "Dot Product is : " << (V1 ^ V2); cout << "Cross Product is : " << (V1 * V2); return 0; }
V1 = 3i + 4j + 2k V2 = 6i + 3j + 9k V1 + V2 = 9i + 7j + 11k Dot Product is : 48Cross Product is : 30i -15j -15k
Publicación traducida automáticamente
Artículo escrito por KartikArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA