Векторное произведение с помощью классов в С++
Реализуем с помощью классов процесс вычисления векторного произведения двух векторов. Вектор реализуем в виде объекта класса, координаты вектора определим как поля класса, а векторное произведение будем вычислять с помощью метода класса. Если два вектора заданы своими координатами:
$$\vec{a}=\vec{a}\left(a_{1},a_{2},a_{3} \right),\vec{b}=\vec{b}\left(b_{1},b_{2},b_{3} \right)$$
то их векторное произведение представляет собой третий вектор, который вычисляется по формуле:
$$\vec{a}\times \vec{b}=\vec{c}\left( a_{2}b_{3}- a_{3}b_{2},-a_{1}b_{3}+ a_{3}b_{1}, a_{1}b_{2}- a_{2}b_{1} \right)$$
#includeusing namespace std; class Vector{ public: double x,y,z; Vector vprod(Vector obj){ Vector tmp; tmp.x=y*obj.z-obj.y*z; tmp.y=z*obj.x-obj.z*x; tmp.z=x*obj.y-obj.x*y; return tmp;} void show(){ cout << "(" << x << "," << y << "," << z << ")\n";} }; int main(){ Vector a,b,c; a.x=1; a.y=0; a.z=0; b.x=0; b.y=1; b.z=0; c=a.vprod(b); c.show(); b.vprod(a).show(); return 0;}