题目:http://poj.org/problem?id=1269

题意:给出两条直线(4个点),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。

分析:先判断是否共线,否则判断是否平行,否则只能相交,求出交点。

//直线AB与直线CD的关系,如果相交就输出交点坐标
void Solve(Point A,Point B,Point C,Point D)
{
if(fabs(cross(A,B,C))<=EPS&&fabs(cross(A,B,D))<=EPS) puts("LINE");  //共线
else if((B.x-A.x)*(D.y-C.y)==(D.x-C.x)*(B.y-A.y))    puts("NONE");  //平行
else   //相交
{
double a1=A.y-B.y;
double b1=B.x-A.x;
double c1=A.x*B.y-B.x*A.y;
double a2=C.y-D.y;
double b2=D.x-C.x;
double c2=C.x*D.y-D.x*C.y;
double x=(b1*c2-b2*c1)/(a1*b2-a2*b1);
double y=(a2*c1-a1*c2)/(a1*b2-a2*b1);
printf("%.2lf %.2lf\n",x,y);
}
}

POJ1269(判断线段相交)相关推荐

  1. 判断线段相交(hdu1558 Segment set 线段相交+并查集)

    先说一下题目大意:给定一些线段,这些线段顺序编号,这时候如果两条线段相交,则把他们加入到一个集合中,问给定一个线段序号,求在此集合中有多少条线段. 这个题的难度在于怎么判断线段相交,判断玩相交之后就是 ...

  2. 【计算几何】判断线段相交(跨立实验)

    题意:有n条线段(编号为1n),按1n的顺序放在二维坐标系上(就是先放1号,再放2号--),要求输出最上面的那些线段的编号.(就是没有其他线段压在它上面的那些线段) 注意:有交点即为被压. 1.叉积 ...

  3. 判断线段相交 + vector. erase迭代指针 的使用 poj 2653 Pick-up sticks

    题目来源:http://poj.org/problem?id=2653 分析: 题意:按顺序给出一些木棍,输出在最上面的木棍标号. 用vector 存储木棍标号, 当前木棍与 vector 中的木棍 ...

  4. 几何基础之判断线段相交问题

    1.判断两线段相交 只要判断q1,q2在线段s1s2的两侧和s1,s2在线段q1q2的两侧. q1s1q2s1>0就是在两侧. 2.矩形里有n条直线,一条直线的终点是另一条直线的起点.问矩形被分 ...

  5. Pipe HDU - 2150(判断线段相交+向量叉乘线代详解)

    题目: 经过激烈的争夺,Lele终于把那块地从Yueyue的手里抢了回来.接下来,Lele要开始建造他的灌溉系统. 通过咨询Lele的好友--化学系的TT,Lele决定在田里挖出N条沟渠,每条沟渠输送 ...

  6. 几何常用算法与判断线段相交【转】

    下面这个函数在我写的计算几何库函数里面有,那个库可以在http://algorithm.126.com/的资源中心   -   代码角   找到. 算法简单说明: 首先判断以两条线段为对角线的矩形是否 ...

  7. 德莱联盟[判断线段相交]

    德莱联盟 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 欢迎来到德莱联盟.... 德莱文... 德莱文在逃跑,卡兹克在追.... 我们知道德莱文的起点和终点坐标,我们也 ...

  8. NYOJ1016(德莱联盟)(判断线段相交)

    德莱联盟 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 欢迎来到德莱联盟.... 德莱文... 德莱文在逃跑,卡兹克在追.... 我们知道德莱文的起点和终点坐标,我们也 ...

  9. HDU1086You can Solve a Geometry Problem too(判断线段相交)

    You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/3 ...

最新文章

  1. CSDN:解决粉丝网友集中问题留言处,把你所有的问题在留言处留言,我会一一回答
  2. 搞定全局ID生成器:SpringBoot2.x 集成百度 uidgenerator
  3. C#调用C++ DLL的方式
  4. 浅析SQL Server数据库中的伪列以及伪列的含义
  5. jvm内存结构_浅谈JVM内存结构
  6. 计算机图形学学习报告,计算机图形学学习报告.doc
  7. RTX5 | 事件标志组02 - 置位事件标志组,并获取事件标志组的值
  8. ES6新语法 变量 、 服务器端js和浏览器端js的区别
  9. leetcode mysql 排名_GitHub - nimphy/leetcode-Mysql
  10. (原創) 無論設計軟體硬體,拿到spec後,第一件事情就是model (OO)
  11. 踏雪点圣火,冰雕刻五环!揭秘全球刷屏的冬奥开幕式黑科技
  12. mac os X中关于dayone缓存的实际文件位置
  13. Centos7命令行方式安装DM
  14. Unity材质快速复制
  15. 【Python】初学者也可以实现的人脸识别系统-0x1
  16. 神经网络matlab实现
  17. win10下如何配置JAVA环境
  18. 【搜狐号购买】c#的问题
  19. 零基础过五门CPA的一些经验及教训分享
  20. Codeforces Round #566 (Div. 2)-E. Product Oriented Recurrence

热门文章

  1. 什么是springboot框架
  2. 品牌管理-JSR303数据校验
  3. 响应json数据之响应json格式数据
  4. Lambda表达式有参数有返回值的练习(自定义接口)
  5. 循环计算-偶数求和-计算结果
  6. 手写springioc注解注入对象基本实现
  7. 排序及其分类(一级)
  8. Condition - Java多线程编程
  9. 江苏自学考试计算机网络专业,速看,江苏自考本科计算机网络专业介绍
  10. 【图文详解】第一个Java程序HelloWorld详解,写Java程序需要注意什么