如何在三角形的内部或外部测试一个点?

时间:2016-12-26 15:32:36

标签: java data-structures geometry

创建一个Java程序来创建一个二维虚拟三角形,并检查一个点是否落入其中。控制台输入/输出功能如下:

INPUT:要求用户输入三角形第一个顶点的X,Y整数坐标 INPUT:要求用户输入三角形第二个顶点的X,Y整数坐标 INPUT:要求用户输入三角形第三个顶点的X,Y整数坐标 INPUT:要求用户输入测试点的X,Y整数坐标 输出:如果该点位于三角形内部或外部,则检查并打印

1 个答案:

答案 0 :(得分:0)

Here's what I found from a quick search:

要点是你取点(点Z),你试图弄清楚它是在三角形的内部还是外部,并从点Z' sx值绘制一条水平线。 ∞。如果这条线(线Z)仅与三角形边中的一个相交,那么我们可以断定点Z在三角形内。为了确定它是否与其中一个边相交,一个好的策略是从边两边形成y=mx+b方程。给定这些方程式,您可以确定线Z与之相交的边数。请注意,如果您发现线Z与两条或更多条线相交,请检查点Z是否是三角形的顶点之一。如果是,那么如果您想将其视为内部或外部,则由您决定。如果点Z不是顶点,则保证它根本不在三角形内。