给定直角坐标上的两条线,确定这两条线会不会相交
给定直角坐标上的两条线,确定这两条线会不会相交
一贱书生 发表于1年前
给定直角坐标上的两条线,确定这两条线会不会相交
  • 发表于 1年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

/**

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

 */

 

[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.       
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 17
博文 722
码字总数 600072
×
一贱书生
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: