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

Java 如何测试一个点在三角形的内部或外部?,java,data-structures,geometry,Java,Data Structures,Geometry,创建一个Java程序来创建一个二维虚拟三角形,并检查其中是否有一个点。控制台输入/输出功能如下: 输入:要求用户输入三角形第一个顶点的X,Y整数坐标 输入:要求用户输入三角形第二个顶点的X,Y整数坐标 输入:要求用户输入三角形第三个顶点的X,Y整数坐标 输入:要求用户输入测试点的X,Y整数坐标 输出:检查并打印点是否在三角形内部或外部 要点是,取一个点(点Z),你想知道它是在三角形的内部还是外部,然后从点Z的x值到它画一条水平线∞. 如果这条线(Z线)只与三角形的一条边相交,那么我们可以断定Z点

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

输入:要求用户输入三角形第一个顶点的X,Y整数坐标 输入:要求用户输入三角形第二个顶点的X,Y整数坐标 输入:要求用户输入三角形第三个顶点的X,Y整数坐标 输入:要求用户输入测试点的X,Y整数坐标 输出:检查并打印点是否在三角形内部或外部


要点是,取一个点(点Z),你想知道它是在三角形的内部还是外部,然后从点Z的x值到它画一条水平线∞. 如果这条线(Z线)只与三角形的一条边相交,那么我们可以断定Z点在三角形内。为了确定它是否与其中一条边相交,一个好的策略是从这些边形成
y=mx+b
方程。根据这些方程,您可以确定直线Z与多少条边相交。请注意,如果发现直线Z与两条或多条直线相交,请检查点Z是否为三角形的顶点之一。如果是的话,那就取决于你的内心和外在。如果点Z不是顶点,则保证它根本不在三角形内。

这看起来很像我的家庭作业……可能是重复的