हमें दो वेक्टर दिए गए हैं मान लें कि वेक्टर ए और वेक्टर बी जिसमें x, y, और दिशाएं हैं, और कार्य दो दिए गए वेक्टर सरणी के क्रॉस उत्पाद और डॉट उत्पाद को ढूंढना है।
वेक्टर क्या है?
गणित में, जिस मात्रा का परिमाण और दिशा होती है उसे सदिश कहा जाता है जबकि वह मात्रा जिसका परिमाण के रूप में केवल एक मान होता है, अदिश कहलाती है। जिस बिंदु से वेक्टर शुरू होता है उसे प्रारंभिक बिंदु के रूप में जाना जाता है और जिस बिंदु पर वेक्टर समाप्त होता है उसे टर्मिनल बिंदु के रूप में जाना जाता है। वेक्टर के प्रारंभिक बिंदु और टर्मिनल बिंदु के बीच की दूरी को वेक्टर के परिमाण के रूप में जाना जाता है।
वैक्टर कई प्रकार के होते हैं जैसे −
- इकाई वेक्टर − एक सदिश जिसका परिमाण एकता है जो 1 है, इकाई सदिश के रूप में जाना जाता है।
- शून्य वेक्टर - इसे NULL वेक्टर के रूप में भी जाना जाता है क्योंकि इस प्रकार के वेक्टर में प्रारंभिक बिंदु और टर्मिनल बिंदु समान होते हैं।
- कॉइनिशियल वेक्टर − यदि दो या दो से अधिक सदिशों का प्रारंभिक बिंदु या आरंभिक बिंदु समान हो तो वे संयोगिक सदिश कहलाते हैं
- समान सदिश − यदि दो या दो से अधिक सदिश एक ही रेखा के समानांतर हों तो वे संरेखी सदिश कहलाते हैं
- समान सदिश − यदि दो सदिशों का परिमाण और दिशा समान हो तो वे समान सदिश कहलाते हैं
डॉट उत्पाद क्या है?
डॉट उत्पाद को अदिश उत्पाद के रूप में भी जाना जाता है जिसे -
. के रूप में परिभाषित किया गया हैमान लें कि हमारे पास दो सदिश A =a1 * i + a2 * j + a3 * k और B =b1 * i + b2 * j + b3 * k हैं जहां i, j और k इकाई सदिश हैं जिसका अर्थ है कि उनका मान 1 है और x, y और z वेक्टर की दिशाएं हैं तो डॉट उत्पाद या अदिश उत्पाद a1 * b1 + a2 * b2 + a3 * b3 के बराबर होता है
Input-: A = 2 * i + 7 * j + 2 * k B = 3 * i + 1 * j + 5 * k Output-: 2 * 3 + 7 * 1 + 2 * 5 = 23
क्रॉस उत्पाद क्या है?
क्रॉस उत्पाद को वेक्टर उत्पाद के रूप में भी जाना जाता है जिसे -
. के रूप में परिभाषित किया गया हैमान लें कि हमारे पास दो सदिश A =a1 * i + a2 * j + a3 * k और B =b1 * i + b2 * j + b3 * k हैं। तब क्रॉस उत्पाद बराबर होता है (a2 * b3 - a3 * b2) * i - (a1 * b3 - a3 * b1) * j + (a1 * b2 - a2 * b1) * k, जहां a2 * b3 - a3 * b2, a1 * b3 - a3 * b1 और a1 * b1 - a2 * b1 यूनिट वेक्टर के गुणांक हैं और i, j और k वेक्टर की दिशाएं हैं।
Input-: A = 2 * i + 7 * j + 2 * k B = 3 * i + 1 * j + 5 * k Output-: (7 * 5 - 2 * 1)i + (2 * 5 - 2 * 3)j - (2 * 1 - 7 * 3)k
एल्गोरिदम
Start Step 1 -> declare a function to calculate the dot product of two vectors int dot_product(int vector_a[], int vector_b[]) Declare int product = 0 Loop For i = 0 and i < size and i++ Set product = product + vector_a[i] * vector_b[i] End return product Step 2 -> Declare a function to calculate the cross product of two vectors void cross_product(int vector_a[], int vector_b[], int temp[]) Set temp[0] = vector_a[1] * vector_b[2] - vector_a[2] * vector_b[1] Set temp[1] = -(vector_a[0] * vector_b[2] - vector_a[2] * vector_b[0]) Set temp[2] = vector_a[0] * vector_b[1] - vector_a[1] * vector_b[0] Step 3-> In main() Declare vector int vector_a[] = { 4, 2, -1 } Declare vector int vector_b[] = { 5, 7, 1 } Declare variable int temp[size] Call function for dot product as dot_product(vector_a, vector_b) Call function for dot product as cross_product(vector_a, vector_b) Loop For i = 0 and i < size and i++ Print temp[i] End Stop
उदाहरण
#include <bits/stdc++.h> #define size 3 using namespace std; //function to calculate dot product of two vectors int dot_product(int vector_a[], int vector_b[]) { int product = 0; for (int i = 0; i < size; i++) product = product + vector_a[i] * vector_b[i]; return product; } //function to calculate cross product of two vectors void cross_product(int vector_a[], int vector_b[], int temp[]) { temp[0] = vector_a[1] * vector_b[2] - vector_a[2] * vector_b[1]; temp[1] = -(vector_a[0] * vector_b[2] - vector_a[2] * vector_b[0]); temp[2] = vector_a[0] * vector_b[1] - vector_a[1] * vector_b[0]; } int main() { int vector_a[] = { 4, 2, -1 }; int vector_b[] = { 5, 7, 1 }; int temp[size]; cout << "Dot product:"; cout << dot_product(vector_a, vector_b) << endl; cout << "Cross product:"; cross_product(vector_a, vector_b, temp); for (int i = 0; i < size; i++) cout << temp[i] << " "; return 0; }
आउटपुट
Dot product:33 Cross product:9 -9 18