Добрый день!
Можно ли ввести операцию векторного произведения векторов и обозначить ее как принятов в математике но вместо креста взять X. Пока сделал + вроде работаети но не красиво как то.
class vector3D {
public:
point3D M1;
point3D M2;
vector3D() {
M1=point3D(0,0,0);
M2=point3D(0,0,0);
}
vector3D(point3D _M1, point3D _M2) {
M1=_M1;
M2=_M2;
}
double operator*(vector3D &A){
return
(this->M2.x-this->M1.x)*(A.M2.x-A.M1.x)+
(this->M2.y-this->M1.y)*(A.M2.y-A.M1.y)+
(this->M2.z-this->M1.z)*(A.M2.z-A.M1.z)
;
}
vector3D operator+ (vector3D &A){
return vector3D
(
point3D(this->M1),
point3D
(
(this->M2.y-this->M1.y)*(A.M2.z-A.M1.z)-(A.M2.y-A.M1.y)*(this->M2.z-this->M1.z),
(this->M2.z-this->M1.z)*(A.M2.x-A.M1.x)-(A.M2.z-A.M1.z)*(this->M2.x-this->M1.x),
(this->M2.x-this->M1.x)*(A.M2.y-A.M1.y)-(A.M2.x-A.M1.x)*(this->M2.y-this->M1.y)
)
);
}
};