如何在Java中检查三个点是否共线?
如果三个点都位于一条直线上,则称这三个点共线。如果这些点不在同一条直线上,则它们不是共线点。
这意味着如果三个点 (x1, y1), (x2, y2), (x3, y3) 在同一条直线上,则它们共线。
其中,x1、y1、x2、y2、x3、y3 是 x 轴和 y 轴上的点,(x1, y1)、(x2, y2)、(x3, y3) 是坐标。
在数学上,有两种方法可以知道三个点是否共线。
通过使用这些点找到三角形的面积,如果三角形的面积为零,则三个点共线。
Formula to find area of triangle = 0.5 * [x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)]
通过找到两点的斜率是否相等,如果相等,则所有三个点都共线。
Formula to find slope = Slope of (x1, y1), (x2, y2) m1 = (y2-y1) / (x2-x1) Slope of (x2, y2), (x3, y3) m2 = (y3-y2) / (x3-x2)
在本文中,我们将了解如何使用 Java 编程语言检查三个点是否共线。
向您展示一些实例
实例 1
假设给定的坐标是 (1,2), (3,4), (5,6)
所有三个点都共线,因为它们位于同一条直线上。
实例 2
假设给定的坐标是 (1,1), (1,4), (1,6)
所有三个点都共线,因为它们位于同一条直线上。
实例 3
假设给定的坐标是 (1,1), (2,4), (4,6)
所有三个点都不共线,因为它们不在同一条直线上。
算法
步骤 1 - 通过用户输入或初始化获取三个点。
步骤 2 - 使用上述任何一个公式,检查三角形面积是否为零或斜率是否相同,然后打印三个点共线,否则打印三个点不共线。
步骤 3 - 打印结果。
多种方法
我们提供了不同方法的解决方案。
通过查找三角形面积。
通过查找斜率。
让我们逐一查看程序及其输出
方法 1:通过查找三角形面积
在这种方法中,三个点将在程序中初始化。然后使用公式计算三角形的面积。如果面积为零,则打印三个点共线。
示例
public class Main{ //main method public static void main(String args[]){ //initialized first point double x1 = 1; double y1 = 2; System.out.println("First point: "+x1+", "+y1); //initialized second point double x2 = 3; double y2 = 4; System.out.println("Second point: "+x2+", "+y2); //initialized third point double x3 = 5; double y3 = 6; System.out.println("Third point: "+x3+", "+y3); //find triangle area by using formula double triangleArea = 0.5*(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)); System.out.println("Area of triangle using three points ="+triangleArea); if (triangleArea == 0) System.out.println("Three points are collinear."); else System.out.println("Three points are not collinear."); } }
输出
First point: 1.0, 2.0 Second pointe: 3.0, 4.0 Third pointe: 5.0, 6.0 Area of triangle using three points = 0.0 Three points are collinear..
方法 2:通过查找斜率
在这种方法中,三个点将在程序中初始化。然后计算任意一对点的斜率,并使用斜率公式检查该斜率是否等于另一对点的斜率。如果两个斜率相等,则打印三个点共线。
示例
public class Main{ //main method public static void main(String args[]){ //initialized first point double x1 = 1; double y1 = 2; System.out.println("First point: "+x1+", "+y1); //initialized second point double x2 = 3; double y2 = 4; System.out.println("Second point: "+x2+", "+y2); //initialized third point double x3 = 5; double y3 = 6; System.out.println("Third point: "+x3+", "+y3); //find slope of (x1, y1) , (x2, y2) double m1 = (y2-y1) / (x2-x1); //find slope of (x2, y2) , (x3, y3) double m2 = (y3-y2) / (x3-x2); System.out.println("Slope of first pair= " + m1); System.out.println("Slope of second pair= " + m2); if (m1 == m2) System.out.println("Three points are collinear."); else System.out.println("Three points are not collinear."); } }
输出
First point: 1.0, 2.0 Second point: 3.0, 4.0 Third point: 5.0, 6.0 Slope of first pair= 1.0 Slope of second pair= 1.0 Three points are collinear.
在本文中,我们探讨了如何使用不同的方法在 Java 中检查三个点是否共线。
广告