كيفية حساب المنتج المتقاطع في بايثون


بافتراض أن لدينا المتجه A مع العناصر (A 1 , A 2 , A 3 ) والمتجه B مع العناصر (B 1 , B 2 , B 3 )، يمكننا حساب حاصل الضرب الاتجاهي لهذين المتجهين كما يلي:

حاصل الضرب الاتجاهي = [(أ 23 ) – (أ 32 )، (أ 31 ) – (أ 13 )، (أ 12 ) – (أ 21) )]

على سبيل المثال، لنفترض أن لدينا المتجهات التالية:

  • المتجه أ: (1، 2، 3)
  • المتجه ب: (4، 5، 6)

يمكننا حساب المنتج الاتجاهي لهذه المتجهات على النحو التالي:

  • حاصل الضرب الاتجاهي = [(أ 23 ) – (أ 32 )، (أ 31 ) – (أ 13 )، (أ 12 ) – (أ 21) )]
  • حاصل الضرب الاتجاهي = [(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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *