2016-12-26 30 views
-1

创建一个Java程序来创建一个二维虚拟三角形,并检查一个点是否落在它的内部。控制台的输入/输出功能将如下:如何测试一个点是在三角形的内部还是外部?

INPUT:向用户输入X,Y整数为三角形的第一顶点坐标 INPUT:向用户输入X,Y整数为三角形 INPUT的第二顶点坐标:要求用户输入X,Y整数坐标三角形的第三顶点 INPUT:要求用户输入X,Y整数一个测试点的坐标 OUTPUT:检查并打印如果点内或三角形

+0

这看起来很像一个家庭作业给我... –

+3

可能重复的[如何确定一个点是否在一个二维三角?](http://stackoverflow.com/questions/2049582/how-to - 确定-IF-A-点是-IN-A-2D-三角形) –

回答

0

Here's what I found from a quick search:

的要点是,你把点(Z点),你是试图弄清楚它是在三角形的内部还是外部,并画出从Z点的x值到∞的水平线。如果这条线(直线Z)仅与三角形边中的一条相交,则我们可以得出结论:Z点位于三角形内部。为了确定它是否与一侧相交,一个好的策略是从两侧形成y=mx+b方程。给定这些方程,然后可以确定Z线有多少个边相交。请注意,如果发现线Z与两行或更多行相交,请检查点Z是否是三角形的顶点之一。如果是这样,那么如果你想要考虑内部还是外部,这取决于你。如果Z点不是顶点,那么它肯定不会在三角形内。

相关问题