求两线段的交点(C++)

原创 2014年01月27日 15:46:56
/*******************************/
// 参数:
// line:     存储两条线短点的坐标值 |(x, y)对
// graveity: 交点xy坐标值
/*******************************/

void FindLineIntersection(float line[8], float *graveity)
{
    float delta = (line[2]-line[0]) *(line[5]-line[7]) - (line[4]-line[6]) *(line[3]-line[1]);

    float r = (line[4]-line[0]) *(line[5]-line[7]) - (line[4]-line[6]) *(line[5]-line[1]);
    float u = (line[2]-line[0]) *(line[5]-line[1]) - (line[4]-line[0]) *(line[3]-line[1]);
    if( delta > -1e-6 && delta > 1e-6 )
        return;

    if( (r >= -1.f && r <= 1.f) && ( u >= -1.f && u <= 1.f) )
    {
        graveity[0] = line[0] + r*(line[2] - line[0])/delta;
        graveity[1] = line[1] + r*(line[3] - line[1])/delta;
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

计算几何-求线段交点算法和代码(C++语言)

问题描述:已知两条线段P1P2和Q1Q2,判断P1P2和Q1Q2是否相交,若相交,求出交点。 两条线段的位置关系可以分为三类:有重合部分、无重合部分但有交点、无交点。 算法核心 算法的步骤...

C++ 实现两线段是否相交、相交情况、若相交求出交点坐标

前段时间做计算机图形学的东西,现在闲下来,对代码稍作整理,都是些实用的函数        //判断是否相交 //(X1,Y1)(X2,Y2)前线 //(X3,Y3)(X4,Y4)后线 //...

UVa11437 - Triangle Fun(两线段的交点求法、叉乘求面积)

Problem A Triangle Fun Input: Standard Input Output: Standard Output   In the p...

iClient for JavaScript求两线交点、线线打断、点打断线

作者:MR. 完整代码1在页面底部提供下载一、求两线交点1. 思路    线都是由数量不等的点连起来形成的。计算两条线的交点,我们需要一个基础算子,其中一个办法是判断两条线段(两点相连)是否相交、...

判断与求解平面内两线段的交点的算法与实现

判断与求解平面内两线段的交点的算法与实现

flex算两线交点

  • 2016年02月24日 12:23
  • 2KB
  • 下载

求两直线交点用C++实现

  • 2011年06月27日 22:19
  • 1KB
  • 下载

c++求两条直线的交点

百度知道上找的,先留着慢慢研究: 来源:http://zhidao.baidu.com/question/79460681.html //.h文件 #ifndef _LINE_H_ #defi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:求两线段的交点(C++)
举报原因:
原因补充:

(最多只允许输入30个字)