`
slam33661490
  • 浏览: 5954 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

判断两条线段是否相交

 
阅读更多
Java Line2D已经实现
Line2D.linesIntersect(x1, y1, x2, y2, x3, y3, x4, y4)

public boolean isIntersect(double px1,double py1,double px2,double py2,double px3,double py3,double px4,double py4)//p1-p2 is or not intersect with p3-p4
    {
        boolean flag = false;
        double d = (px2-px1)*(py4-py3) - (py2-py1)*(px4-px3);
        if(d!=0)
        {
            double r = ((py1-py3)*(px4-px3)-(px1-px3)*(py4-py3))/d;
            double s = ((py1-py3)*(px2-px1)-(px1-px3)*(py2-py1))/d;
            if((r>=0) && (r <= 1) && (s >=0) && (s<=1))
            {
                flag = true;
            }
        }
        return flag;
    }
 
分享到:
评论

相关推荐

    代码判断两条线段是否相交(两种实现算法)

    在计算机图形学和几何算法中,判断两条线段是否相交是一个常见的问题。这个任务涉及到二维空间中的几何对象,特别是点、直线和线段的概念。本文将深入探讨两种不同的算法来解决这个问题,一种是“暴力”方法,另一种...

    判断两直线是否相交 C++ MFC

    标题 "判断两直线是否相交 C++ MFC" 涉及的是计算机图形学和编程领域的一个基础问题,即在二维空间中如何使用C++和MFC(Microsoft Foundation Classes)来判断两条直线是否交叉。MFC是微软提供的一套C++类库,用于...

    两条直线相交判断方法

    在计算机图形学中,判断两条直线是否相交是一项基础但重要的任务。特别是在C#编程环境中,我们经常需要处理这样的问题,比如在游戏开发、几何计算或者数据可视化等场景。本篇将详细介绍如何在C#中判断两条直线是否...

    AS3.0学习之判断两条线段是否相交

    在AS3.0中,我们经常需要处理图形和几何问题,比如判断两条线段是否相交。这个"AS3.0学习之判断两条线段是否相交"的实践项目就是一个典型的例子,它涉及到二维几何的基本概念和算法。下面将详细阐述如何在AS3.0中...

    判断两线段是否相交,相交求交点

    具体来说,可以通过计算两条线段的方向向量的叉积(外积)来判断这两条线段是否有可能相交。如果叉积为零,意味着两线段平行;如果不为零,表示两线段可能相交。 #### 2. 求解交点坐标 当初步判断两线段有相交的...

    判断两条直线相交算法

    ### 判断两条直线相交算法 #### 算法背景及应用 判断两条直线是否相交是计算机图形学、计算几何以及数学建模中的一个重要问题。特别是在处理图形、地图数据或者进行路径规划时,该算法的应用尤为广泛。例如,在...

    两条线段的问题

    在计算机图形学和算法设计中,判断两条线段是否相交是一个常见的问题。线段是由两点定义的有限直线部分,而直线则是无限延伸的。这个问题在几何计算、碰撞检测、图形绘制等领域都有广泛的应用。本篇文章将深入探讨...

    java 图形编程常用的,检验两条直线是否相交的java算法.zip

    在Java图形编程中,我们经常会遇到需要判断两条直线是否相交的情况。这涉及到几何学的基本原理和编程逻辑的结合。本压缩包中的内容显然是关于如何使用Java实现这一功能的算法。虽然标签上写的是"C#",但根据标题和...

    poj 2653代码 判断两直线是否相交

    在本文中,我们将深入探讨计算几何的基本概念,特别是与判断两条直线是否相交相关的算法。题目"POJ 2653"是一个典型的计算几何问题,它的目标是编写程序来检查给定的一组直线(棍子)中哪些是相交的。 首先,我们...

    线段相交检测demo

    本资源“线段相交检测demo”是基于CocosCreator的一个示例,通过源代码展示了如何在2D环境中检测两条线段是否相交。以下是关于线段相交检测的详细知识点: 1. **线段的基本概念**:线段是由两个不在同一直线上的点A...

    MyLine交互给出线段、点坐标;判断线段是否第一象限;判断线段是否相交;点到线段距离.rar

    判断两条线段是否相交,首先考虑它们的斜率。如果两条线段都是水平或垂直的,可以简单地通过比较端点坐标来确定。如果它们不是水平或垂直的,可以使用叉积的方法。对于每一对线段,如果它们的两个端点分别组成的四...

    线段对象(判断是否相交以及相交点的获取)

    1. **判断两个线段是否相交**:线段相交的条件是它们的两个端点分别位于对方线段的两侧。我们可以使用叉积(向量的叉乘)来检查这个条件。如果两个线段的四个端点形成的两对交叉乘积符号相反,则它们相交。下面是...

    mylineseg.rar_两条线段交点_点 线段 垂足_点到直线距离_相交_线段相交

    线段及直线的基本运算 1. 点与线段的关系2. 求点到线段所在直线垂线的垂足3. 点到线段的最近点4. 点到线段所在直线的距离 5....判断两条直线是否相交及求直线交点 16.判断线段是否相交,如果相交返回交点

    objective-c判断两条线段相交类

    用于判断两条线段是否相交的可重用类,用objective-c书写,可直接放在项目里面使用之~

    CAD 基于C#.Net 检查线自相交

    2. 判断线段交叉:可以使用向量叉乘的方法来判断两条线段是否相交。如果线段AB和CD的两个交叉点同时位于AB和CD上,则这两条线段相交。具体计算公式为:(B - A) × (D - C) 和 (D - C) × (A - B) 的符号相反。 3. ...

    测试线段是否相交

    本篇文章将详细探讨如何判断两条线段是否相交,并给出计算交点的方法。 线段是由两个点(端点)定义的,每个点具有二维坐标 (x, y)。线段 `A-B` 可以用端点坐标 `(Ax, Ay)` 和 `(Bx, By)` 来表示,同样,线段 `C-D`...

    openlayers3 多边形相交判断

    在几何学中,可以通过比较各个边来判断两个多边形是否相交。OpenLayers 3提供了`ol.geom.Polygon`类,用于创建和操作多边形对象。 1. **创建多边形**:在OpenLayers 3中,你可以通过传递一个坐标数组来创建一个...

    平面上两直线是否相交算法

    `intersect` 函数用于判断两条由点对定义的直线是否相交。首先,它调用 `intersect1` 函数两次,分别判断第二条直线的端点是否位于第一条直线的一侧或两侧,反之亦然。如果两个端点位于同一侧,则这两条直线不会相交...

Global site tag (gtag.js) - Google Analytics