【发布时间】:2014-11-07 23:16:01
【问题描述】:
我需要实现一个名为 disjointSegments 的方法,如果线段不相交则返回 true,否则返回 false。
这就是我到目前为止所拥有的。应该有 2 个段,ab 和 cd。
public static boolean disjointSegments(Point2D.Double a, Point2D.Double b,
Point2D.Double c, Point2D.Double d)
这是一个作业,它说我可以使用 delta 方法来计算它,这是一种计算矩阵行列式的方法。
我已经实现了 delta 方法。
public static double delta(Point2D.Double a, Point2D.Double b,
Point2D.Double c) {
return (a.getX() * b.getY() * 1) + ( a.getY() * 1 * c.getX()) + (1 * b.getX() * c.getY()) - (1 * b.getY() * c.getX())
- (a.getX() * 1 * c.getY()) - (a.getX() * b.getY() * 1);
}
那么我怎么知道线段是否不相交?
【问题讨论】:
-
你能用手做吗?