كيفية حساب المنتج المتقاطع في بايثون
بافتراض أن لدينا المتجه A مع العناصر (A 1 , A 2 , A 3 ) والمتجه B مع العناصر (B 1 , B 2 , B 3 )، يمكننا حساب حاصل الضرب الاتجاهي لهذين المتجهين كما يلي:
حاصل الضرب الاتجاهي = [(أ 2 *ب 3 ) – (أ 3 *ب 2 )، (أ 3 *ب 1 ) – (أ 1 *ب 3 )، (أ 1 *ب 2 ) – (أ 2 *ب 1) )]
على سبيل المثال، لنفترض أن لدينا المتجهات التالية:
- المتجه أ: (1، 2، 3)
- المتجه ب: (4، 5، 6)
يمكننا حساب المنتج الاتجاهي لهذه المتجهات على النحو التالي:
- حاصل الضرب الاتجاهي = [(أ 2 *ب 3 ) – (أ 3 *ب 2 )، (أ 3 *ب 1 ) – (أ 1 *ب 3 )، (أ 1 *ب 2 ) – (أ 2 *ب 1) )]
- حاصل الضرب الاتجاهي = [(2*6) – (3*5)، (3*4) – (1*6)، (1*5) – (2*4)]
- حاصل الضرب الاتجاهي = (-3، 6، -3)
يمكنك استخدام إحدى الطريقتين التاليتين لحساب المنتج الاتجاهي لمتجهين في بايثون:
الطريقة الأولى: استخدام الدالة cross() الخاصة بـ NumPy
import numpy as np #calculate cross product of vectors A and B n.p. cross (A, B)
الطريقة الثانية: تحديد وظيفتك الخاصة
#define function to calculate cross product def cross_prod (a,b): result = [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]] return result #calculate cross product cross_prod(A, B)
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.
مثال 1: استخدام الدالة NumPy cross()
يوضح الكود التالي كيفية استخدام دالة NumPy’s cross() لحساب حاصل الضرب الاتجاهي بين متجهين:
import numpy as np #definevectors A = np. array ([1, 2, 3]) B = np. array ([4, 5, 6]) #calculate cross product of vectors A and B n.p. cross (A, B) [-3, 6, -3]
يصبح حاصل الضرب الاتجاهي (-3، 6، -3) .
وهذا يتوافق مع المنتج الاتجاهي الذي حسبناه يدويًا سابقًا.
مثال 2: حدد وظيفتك الخاصة
يوضح التعليمة البرمجية التالية كيفية تحديد الدالة الخاصة بك لحساب المنتج الاتجاهي بين متجهين:
#define function to calculate cross product def cross_prod (a,b): result = [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]] return result #definevectors A = np. array ([1, 2, 3]) B = np. array ([4, 5, 6]) #calculate cross product cross_prod(A, B) [-3, 6, -3]
يصبح حاصل الضرب الاتجاهي (-3، 6، -3) .
وهذا يتوافق مع المنتج الاتجاهي الذي حسبناه في المثال السابق.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في بايثون:
كيفية حساب منتج النقطة باستخدام NumPy
كيفية تطبيع مصفوفة NumPy
كيفية إضافة صف إلى المصفوفة في NumPy