如何判断两条直线相交
2016-02-25 16:07
459 查看
CPoint CPaintFFRDlg::Inter(int x0,int y0,int x1,int x2,int y1,int y2,int x3,int y3,int x,int y) { bool lim1 = false,lim2 = false;//是否垂直X轴 double k1,b1,k2,b2;//斜率和Y轴截距 //特殊情况标记 if(x1 != x0) k1 = (y1-y0)/(x1-x0),b1 = y0 - k1*x0; else lim1 = true; if(x3 != x2) k2 = (y3-y2)/(x3-x2),b2 = y2 - k2*x2; else lim2 = true; if(!lim1 && !lim2){//都不垂直于X轴 if(k1 == k2)return <a href="http://gocrazygreen.net/">HCG Diet</a> false; x = (b2-b1)/(k1-k2); y = k1 * x + b1; return true; }else if(lim1 && lim2){//2直线全垂直X轴 return false; }else if(lim1 &&!lim2){ x = b2; y = k2 * x + b2; return true; }else if(!lim1 &&lim2){ x = b1; y = k1 * x + b1; return CPoint (x,y); } return CPoint (-1,-1); }
相关文章推荐
- DCMTK Work List 实验 II
- Red Hat 6.5 本地 yum源搭建
- Oracle分区表
- 第三方框架
- Unity3D 合并模型 个人理解
- 今日分享一点干货。PHP中课程表的实现。
- 7、继承
- DCMTK Work List 实验 I
- Java代码注释XXX TODO FIXME 的意义
- C/C++基础::sizeof() 与 sizeof(string)
- nova虚拟机的CPU配置-关于sockets,cores,threads的限制
- Python——内建异常体系结构
- [C++11]_[初级]_[shared_ptr的使用场景]
- CodeForces 626 A. Robot Sequence(水~)
- maven web项目的几种部署方式和常见的出错方式的解决
- [C++11]_[初级]_[shared_ptr的简单使用]
- 对称加密算法
- java,for穷举,经典题目:水仙花数
- DCMTK 与影像设备互连 实验
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)