7.3
来源:互联网 发布:电脑磁盘碎片整理软件 编辑:程序博客网 时间:2024/05/06 15:15
Topic 7.3 Given two lines on a Cartesian plane, determine whether the two lines would intersect.
注意:考虑边界条件
方法:
1) If two lines are the same (same slope and y-intercept), they are considered to intersect.
2) If two lines are not parallel, then they intersect. Just check the slopes.
3) Don’t assume that the slope and y-intercept are integers. Understand limitations of floating point representations. Never check for equality with ==, but check if the difference is less than an epsilon value.
public class Line {static double epsilon = 0.000001;public double slope;public double y_intercept;public Line(double s, double y) {slope = s;y_intercept = y;}public boolean intersect(Line line2) {//考虑完全重合的边界条件return Math.abs(slope - line2.slope) > epsilon || Math.abs(y_intercept - line2.y_intercept) < epsilon;}public static void main(String[] args) {Line line1 = new Line(5, 9);Line line2 = new Line(5, 7);System.out.println(line1.intersect(line2));}}
//结果false
- 7.3
- 7.3
- 7.3
- 7.3
- 7.3
- 7.3
- 7.3
- 7.3
- 7.3
- 7.3
- 7.3.1
- notejava 7.3
- 7.3 MaxDoubleSliceSum
- 7.3 直方图
- 7.3.1
- 7.3.2
- 7.3.3
- 7.3.4
- C++之运算符重载
- 关于在as3中如何获得一个字符的ASCII码值
- ostream&
- LCD1602中文资料
- C#操作Excel文件(读取Excel,写入Excel)
- 7.3
- 运算符重载
- MFC笔记(一)
- C++模板元编程 入门简介
- do_select()函数分析,理解select(),poll(),poll_wait()函数的关系
- 链表添加节点的小细节
- MFC笔记(二)
- [light oj 1018]Brush(IV)[状压DP]
- ViewPager加载位图的例子