计算几何问题 向量叉积

问题描述:

计算几何问题 向量叉积
  (2) 向量叉积的坐标表示:
  设a=(a1,b1,c1),b=(a2,b2,c2),
  则 a×b=
  | i j k|
  |a1 b1 c1|
  |a2 b2 c2|
  =(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)
怎么通过得到的这个向量判断原来两个向量的相对位置(顺时针&逆时针)呢?
因为是C++编程实现 所以还请用编程的思路谢谢
部分代码如下:
class CVector{
int x,y,z;
}//向量定义
CVector operator ^(CVector p,CVector q){
return CVector(p.y*q.z-q.y*p.z,p.x*q.z-q.x*p.z,p.x*q.y-q.x*p.y);
}//叉积返回所得向量

A x B > 0 A在B逆时针
A x B A x B = 0 共线CVector operator ^(CVector p,CVector q){ return CVector(p.y*q.z-q.y*p.z,p.x*q.z-q.x*p.z,p.x*q.y-q.x*p.y);}怎么改这个才能体现出AXB(pXq)的正负呢?逆时针顺时针 只是对于二维平面来说的