计算几何问题 向量叉积
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/08 02:15:56
计算几何问题 向量叉积
(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);
}//叉积返回所得向量
(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);
}//叉积返回所得向量
![计算几何问题 向量叉积](/uploads/image/z/19863905-41-5.jpg?t=%E8%AE%A1%E7%AE%97%E5%87%A0%E4%BD%95%E9%97%AE%E9%A2%98+%E5%90%91%E9%87%8F%E5%8F%89%E7%A7%AF)
A x B > 0 A在B逆时针
A x B < 0 A在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)的正负呢?
再答: 逆时针顺时针 只是对于二维平面来说的
A x B < 0 A在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)的正负呢?
再答: 逆时针顺时针 只是对于二维平面来说的