题面
给出两个三维向量,求它们的法向量
分析
利用 x⃗×y⃗=∣i⃗j⃗k⃗x1y1z1x2y2z2∣\vec x×\vec y =
\begin{vmatrix}
\vec{i} & \vec{j} & \vec{k} \\
x_1 & y_1 & z_1 \\
x_2 & y_2 & z_2 \\
\end{vmatrix}x×y=∣∣∣∣∣∣ix1x2jy1y2kz1z2∣∣∣∣∣∣
其垂直于x和y向量组成的平面,用行列式展开计算即可。
这等效于题中的解方程组。
代码
计算过程中的乘法会爆 int,注意开 long long
#include <iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
long long a1, b1, c1,
a2, b2, c2;
while (cin>>a1>>b1>>c1>>a2>>b2>>c2)
{
cout << b1 * c2 - b2 * c1 << " " << c1 * a2 - c2 * a1 << " " << a1 * b2 - a2 * b1<<endl;
}
return 0;
}