文档章节

计算线段或直线与线段的交点

乙知
 乙知
发布于 2016/11/07 17:28
字数 498
阅读 288
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1. 使用矢量叉乘积判断线段与线段(或直线)是否相交。如果结果是相交,那么在后面就可以将线段全部看做直线来考虑。

2.两条线段共线情况需要单独考虑。

3.使用直线或线段方程计算,可以把方程式改为ax + by + c = 0。

 

设一条线段为L0 = P1P2,另一条线段或直线为L1 = Q1Q2:(步骤4和步骤5与步骤2、步骤3相似,只是横纵方向不同)

第一步:判断L0和L1是否相交,如果没有相交就没有交点,否则L0,L1一定有交点,下面就可以看做直线来考虑。

第二步:若P1和P2的横坐标相同,即L0平行于y轴:

1. 若L1也平行于y轴,则L0L1共线或平行。(P1和Q1横坐标相同共线,不相同平行)

2. 交点横坐标为P1或P2横坐标,带入L1方程求出纵坐标。

第三步:若P1P2横坐标不同,但是Q1Q2的横坐标相同,即L1平行于y轴,则交点横坐标为Q的横坐标,带入到L0的直线方程中即可计算交点纵坐标。

第四步:如果P1P2纵坐标相同,即L0平行于x轴:

1. 若L1也平行于x轴,则L0L1平行或共线。

2. 交点纵坐标P1或P2的纵坐标,带入L1方程式求出交点横坐标。

第五步:如P1P2的纵坐标不同,但是Q1Q2的纵坐标相同,即L1平行于x,则交点纵坐标为Q1的纵坐标,带入L0直线方程计算交点横坐标。

第六步:剩下步骤为L0L1斜率均不为0的情况。

1.计算L0斜率K0,L1斜率K1。

2. 若K0=K1, 若Q1在L0上,则L0L1共线,如果不在L0上则平行。

3. 联立两直线的方程组可以解出交点。

 

© 著作权归作者所有

乙知
粉丝 1
博文 28
码字总数 6159
作品 0
朝阳
程序员
私信 提问
判断线段相交是否相交

一.矢量基本知识 因为后面的计算需要一些矢量的基本知识,这里只是简单的列举如下,如果需要更加详细的信息,可以自行搜索wikipedia或google。 1.矢量的概念:如果一条线段的端点是有次序之分...

robslove
2015/09/27
67
0
移动端地图:屏幕边沿方向指示图标

写在前面 在我们打游戏的时候,队友跑出我们的屏幕可视区域外时,经常会有一个头像图标在屏幕的边沿,并且起着指示队友方向的作用。 在移动端地图应用的开发中,同样可能会有这种需求,下面将...

indulge_in
2017/11/23
0
0
求线段或直线与圆的交点

设圆心为O,圆半径为r,直线(或线段)L上的两个点为P1、P2。 第一步:如果L是线段且P1,P2都包含在O内,则没有交点。 第二步:如果L平行于y轴: 1. 计算圆心到L的距离d。 2.如果d>r,则L月圆...

乙知
2016/11/08
141
0
[Heoi2013]Segment

Description 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段。记第i条被插入的线段的标号为i。 2.给定一个数k,询问与直线 x = k相交的线段中,交点最靠上的线段的编号。 Inpu...

qq_39399999
2017/12/06
0
0
判断两线段是否相交

算法一 1. 快速排斥实验:设一线段P1P2为对角线的矩形为P,设一线段Q1Q2为对角线的矩形为Q,如果P和Q不相交,显然两线段不会相交。 以下2种(方法1、方法2)方法判断矩形是否相交仅限于正矩形...

乙知
2016/11/03
463
0

没有更多内容

加载失败,请刷新页面

加载更多

thinkphp6 视图变量输出

thinkphp6 视图变量输出 视图默认把变量输出为字符串类型,有些时候需要保证原来的类型,比如html字符串 raw参数,禁止转换 {$content.content|raw} 支持多个参数,比如解码php内置的htmlspe...

DrChenXX
7分钟前
2
0
【搞定Jvm面试】 Java 内存区域揭秘附常见面试题解析

本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb (【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识)如果觉得不错的还,不妨去点个Star,鼓励一下!...

SnailClimb
17分钟前
2
0
jQuery如何根据数据属性值查找元素?

我有以下场景: var el = 'li'; 页面上有5个<li> ,每个都有一个data-slide=number属性(数字分别为1,2,3,4,5) 。 我现在需要找到当前活动的幻灯片编号,该编号映射到var current = $('ul...

javail
29分钟前
3
0
LaTeX自定义宏包、类文件的默认搜索路径设置方法

  对于自定义的LaTeX宏包与类,在调用时可以通过在命令\documentclass{}与\usepackage{}命令中指定完整路径或者相对路径,这样确实可以调用,但是编译时总是有烦人的警告信息,让人不爽。还...

陆巍_
31分钟前
3
0
计算机电子书 2018 BiliDrive 备份

下载方式 根据你的操作系统下载不同的 BiliDrive 二进制。 执行: bilidrive download <link> 链接 <!--more--> 文档 链接 Webpack 中文指南.epub (409.01 KB) bdrive://ce58b7b58292296a61......

ApacheCN_飞龙
52分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部