文档章节

给定直角坐标上的两条线,确定这两条线会不会相交

一贱书生
 一贱书生
发布于 2016/11/19 11:00
字数 289
阅读 2
收藏 0
点赞 0
评论 0

/**

 * 功能:给定直角坐标上的两条线,确定这两条线会不会相交。

 */

 

[java] view plain copy

 

  1. public class Line {  
  2.   
  3.     static double epsilon=0.000001;  
  4.     public double slope;//斜率  
  5.     public double yintercept;//与y轴的截距  
  6.     public static void main(String[] args) {  
  7.         // TODO Auto-generated method stub  
  8.   
  9.     }  
  10.   
  11.     /** 
  12.      * 假设: 
  13.      * 1)若两条线是相同的(斜率和y轴截距相等),则认为这两条线相交; 
  14.      * 2)设计线的数据结构。 
  15.      * 思路: 
  16.      * 两条线不平行必相交,因此只需检查两者的斜率是否相同,或者是否为同一条。 
  17.      *  
  18.      * 此类问题的注意事项: 
  19.      * 1)多提问,确定假设条件或前提条件。 
  20.      * 2)尽量设计并使用数据结构,注重面向对象设计。 
  21.      * 3)仔细考虑线的数据结构的设计。 
  22.      * 4)不要假设斜率和y轴截距为整数。 
  23.      * 5)了解浮点数表示法的限制。不要用“==”来检查浮点数是否相等,而应该检查两者差值是否小于某个极小值(如epsilon=0.000001)。 
  24.      *  
  25.      * @param line2 
  26.      * @return 
  27.      */  
  28.     public boolean intersect(Line line2){  
  29.         return Math.abs(this.slope-line2.slope)>epsilon||Math.abs(this.yintercept-line2.yintercept)<epsilon;  
  30.     }  
  31.       

© 著作权归作者所有

共有 人打赏支持
一贱书生
粉丝 19
博文 723
码字总数 600072
作品 0
判断线段相交是否相交

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

robslove
2015/09/27
35
0
数学美 之 判断线段相交的最简方法

首发于我的博客 转载请注明出处 解析几何的巅峰 是 向量 那无关过程的狂妄与简洁 映射着大自然无与伦比的美 引子 如何判断两条直线是否相交? 这很容易。平面直线,无非就是两种关系:相交 ...

hsfzxjy
2017/11/29
0
0
黎曼积分解多条曲线围成的面积:MATLAB

黎曼积分解多条曲线围成的面积:MATLAB 假设f(x)=-x^2+2与g(x)=-x两条曲线,两条曲线相交于两点,分别是(-1,1)和(2,-2),如图,红色曲线是f(x),绿色线是g(x): 红色曲线和绿色曲线所围成的面...

zhangphil
01/02
0
0
TopCoder SRM 727 Div2 500-point TwoDiagonals

题目 Bearland can be represented as a horizontal plane with N distinct points, denoting positions of N cities.The i-th city has coordinates (x[i], y[i]). Limak is planning to bu......

翡翠森林Z
01/12
0
0
Codeforces Round #336 (Div. 1)E:Cross Sum(二分+扫描线)

传送门 题解: 二分答案,然后检查当前范围(圆)中直线的交点是否超过 在圆中检查两条直线相交非常方便,只需要把直线与圆的交点做出来,相交直线一定形如 最后查询的时候要查询

qq_35649707
02/25
0
0
计算线段或直线与线段的交点

使用矢量叉乘积判断线段与线段(或直线)是否相交。如果结果是相交,那么在后面就可以将线段全部看做直线来考虑。 2.两条线段共线情况需要单独考虑。 3.使用直线或线段方程计算,可以把方程式改...

乙知
2016/11/07
18
0
CF EDU 41 D 题 Pair Of Lines 【经典几何题】

传送门 题意: 给定n个二维平面上的点, 问这些点是否存在于两条直线上.. (如果还对题意比较迷, 那就再说一种那就是所有点共线时也是YES) 思路: 首先, 如果点数<3, 很明显是YES, 所以当点数大于...

anxdada
04/08
0
0
Wannafly 挑战赛13 E VVQ 与线段 【思维 + 线段树】

传送门 题意: 一维数轴上给定很多线段, 求任意两条相交线段的异或最小值, 定义线段的异或值为它们并的长度减他们交的长度. 思路: 我们随便画出一个样例可得, 对于两条相交直线[l1, r1], [l2...

anxdada
04/08
0
0
在二维平面上,有两个正方形,请找出一条直线,能够将这两个正方形对半分

/** * 功能:在二维平面上,有两个正方形,请找出一条直线,能够将这两个正方形对半分。 * 假定正方形的上下两条边与x轴平行。 / [java] view plain copy /* * 考虑: * 线的准确含义,可能性...

一贱书生
2016/11/19
21
0
[POJ3207]Ikki's Story IV - Panda's Trick(2-SAT)

题目大意: 圆上顺序排列n个点,现要在一些点间连边,边只能在圆内或圆外,求有没有可能不相交 学习了2-SAT! 参考资料如下: 1、神犇写的巨无敌详细的博客 2、我觉得很好看的懂的论文 好的那...

cabi_zgx
04/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
32分钟前
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部