平面判断两点连线是否交叉
function judgeIntersect(x1,y1,x2,y2,x3,y3,x4,y4)
{
//快速排斥:
//两个线段为对角线组成的矩形,如果这两个矩形没有重叠的部分,那么两条线段是不可能出现重叠的
//这里的确如此,这一步是判定两矩形是否相交
//1.线段ab的低点低于cd的最高点(可能重合)
//2.cd的最左端小于ab的最右端(可能重合)
//3.cd的最低点低于ab的最高点(加上条件1,两线段在竖直方向上重合)
//4.ab的最左端小于cd的最右端(加上条件2,两直线在水平方向上重合)
//综上4个条件,两条线段组成的矩形是重合的
//特别要注意一个矩形含于另一个矩形之内的情况
if(!(Math.min(x1,x2)<=Math.max(x3,x4) && Math.min(y3,y4)<=Math.max(y1,y2)&&Math.min(x3,x4)<=Math.max(x1,x2) && Math.min(y1,y2)<=Math.max(y3,y4)))
return false;
//跨立实验:
//如果两条线段相交,那么必须跨立,就是以一条线段为标准,另一条线段的两端点一定在这条线段的两段
//也就是说a b两点在线段cd的两端,c d两点在线段ab的两端
var u,v,w,z
u=(x3-x1)*(y2-y1)-(x2-x1)*(y3-y1);
v=(x4-x1)*(y2-y1)-(x2-x1)*(y4-y1);
w=(x1-x3)*(y4-y3)-(x4-x3)*(y1-y3);
z=(x2-x3)*(y4-y3)-(x4-x3)*(y2-y3);
return (u*v<=0.00000001 && w*z<=0.00000001);
}
平面判断两点连线是否交叉相关推荐
- unity3d:向量计算:获得两点连线的垂直向量,判断目标方位(前后左右)
获得两点连线垂直向量 /// <summary>/// 获取某向量的垂直向量/// </summary>public static Vector3 GetVerticalDir ...
- 判断两条链表是否交叉,若有交叉,返回交叉节点的指针。
上周面试挂了,反思原因,莫非是因为一道算法题没做好吗?这题目是"判断两条链表是否交叉,若有交叉,返回交叉节点的指针." 为了防止反复在同一个阴沟里翻船,决定把最优解写出来. #in ...
- 求两点连线与其中一点为球心球的交点——赋MATLAB代码
在轨迹规划过程中,常将其它智能体视为具有一定半径的球形障碍物(或圆形障碍物).若求智能体与障碍物最近的边缘点,其本质即求两点连线与其中一点为球心球的交点. 求的方法有多种,这里采用雅克比矩阵的方法. ...
- js 计算在AB两点连线上,距离A点一定距离的点的坐标
/*** @description 获取在AB两点连线上,以AB为方向,距离A点,L处的点的坐标* @param A:{x,z} 点A* @param B:{x,z} 点B* @param L 距A点 ...
- 判断两个链表是否交叉,并求出交叉点
转载自:http://blog.csdn.net/seanyxie/article/details/6247071 在前面一篇文章中讲了如何判断一个链表中有环,如果有环的话,又如何判断出环出现在哪里 ...
- css 定位连线_前端css实现两点连线
// dots是点的集合 : Array dots.map((dot, index) => { // 最后一个点没有连线 if (!dot[index + 1]) return; const A ...
- html5点线动画,HTML5带音效的两点连线动画
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 (function() { var App = function() { this.el_svg = doc ...
- python 两点连线 matplotlib
1. 若想要将两点之间连接起来: import matplotlib.pyplot as plt p1 = [x1, y1] #点p1的坐标值 p2 = [x2, y2] #点p2的坐标值 plt.p ...
- 点到另外两点连线的垂足计算
假设空间某点O的坐标为(Xo,Yo,Zo),空间某条直线上两点A和B的坐标为:(X1,Y1,Z1),(X2,Y2,Z2),设点O在直线AB上的垂足为点N,坐标为(Xn,Yn,Zn).点N坐标解算过程如 ...
- SQL 判断两个时间段是否有交叉
费话不说,直接上代码 SQL 代码: View Code IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo ...
最新文章
- 22021年江苏高考成绩查询,江苏高考成绩查询系统
- 九.redis学习笔记之虚拟内存
- 最小二乘GAN:比常规GAN更稳定,比WGAN收敛更迅速
- 开发高性能的WebService应用 zhuan
- 【机器学习】支持向量机面试知识点小结
- NXP(I.MX6uLL)DDR3实验——DDR3初始化、校准、超频测试
- python用户输入若干个分数_编写一个程序,要求用户输入五个测试分数。与字母grad对应...
- Java EE CDI Producer方法教程
- 阿里涉江:你真的会学习吗?从结构化思维说起
- python从入门到精通需要多久-学习Python从入门到精通需要多长时间
- 【渝粤题库】广东开放大学 秘书理论与实务(1) 形成性考核
- 概率论基础知识(书本摘录总结)
- Ubuntu下搜狗拼音突然无法输入中文的解决办法
- 拼多多远程删除用户照片事件
- 【转】word提升图像质量
- 【飞桨】Seg:U-Net【2015 MICCAI】论文研读
- java多图片上传功能的实现
- 李沐动手学深度学习笔记---含并行连结的网络 GoogLeNet / Inception V3
- Word 参考文献管理 - 交叉引用 + 批量修改上标
- 自动驾驶自主避障概况