विकिपीडिया से:
क्रॉस उत्पाद एक त्रि-आयामी यूक्लिडियन अंतरिक्ष में दो वैक्टर पर एक द्विआधारी ऑपरेशन है, जिसके परिणामस्वरूप एक और वेक्टर होता है जो दो इनपुट वैक्टर वाले विमान के लंबवत होता है।
यह देखते हुए कि परिभाषा को केवल तीन ( या सात, एक और शून्य ) आयामों में परिभाषित किया गया है , कोई दो 2 डी वैक्टर के क्रॉस उत्पाद की गणना कैसे करता है?
मैंने दो कार्यान्वयन देखे हैं। एक नया वेक्टर लौटाता है (लेकिन केवल एक वेक्टर को स्वीकार करता है), दूसरा एक स्केलर देता है (लेकिन दो वैक्टर के बीच एक गणना है)।
कार्यान्वयन 1 (एक स्केलर रिटर्न):
float CrossProduct(const Vector2D & v1, const Vector2D & v2) const
{
return (v1.X*v2.Y) - (v1.Y*v2.X);
}
कार्यान्वयन 2 (एक वेक्टर लौटाता है):
Vector2D CrossProduct(const Vector2D & v) const
{
return Vector2D(v.Y, -v.X);
}
अलग-अलग कार्यान्वयन क्यों? मैं स्केलर कार्यान्वयन के लिए क्या उपयोग करूंगा? मैं वेक्टर कार्यान्वयन के लिए क्या उपयोग करूंगा?
मेरे द्वारा पूछे जाने का कारण यह है क्योंकि मैं खुद एक वेक्टर 2 डी क्लास लिख रहा हूं और यह नहीं जानता कि किस पद्धति का उपयोग करना है।