点乘,叉乘总结

学长说,高中时我们学习点乘,叉乘什么什么的东西,我想说,我怎么经历了高考之后就全部忘记了呢,o(︶︿︶)o 唉,这篇博客,我就要好好的总结一下。。。。。。


struct point
{
    int x,y;
};
struct line
{
    point s;
    point e;
};


叉积(外积):两个二维向量v1(x1, y1)和v2(x2, y2)的叉积v1×v2=x1y2-y1x2。如果由v1到v2是顺时针转动,叉积为负,反之为正,为0表示二者方向相同(平行),注意,这里是向量,并不是点!!!!

问题解决:

给定两条线断的端点的坐标,求其位置关系,并求出交点。

分析:

两条线段的位置关系大体上可以分为三类:有重合部分、无重合部分但有交点(相交)、无交点。为避免精度问题,首先要将所有存在重合的情况排除。

重合可分为:完全重合、一端重合、部分重合三种情况。显然,两条线段的起止点都相同即为完全重合;只有起点相同或只有终点相同的为一端重合(注意:坐标较小的一条线段的终点与坐标较大的一条线段的起点相同时应判定为相交)。要判断是否部分重合,必须先判断是否平行。设线段L1(p1->p2)和L2(p3->p4),其中p1(x1, y1)为第一条线段的起点,p2(x2, y2)为第一条线段的终点,p3(x3, y3)为第二条线段的起点,p4(x4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值