首页 > Java > java教程 > 如何在Java中检查三个点是否共线?

如何在Java中检查三个点是否共线?

WBOY
发布: 2023-09-05 18:41:05
转载
1160 人浏览过

如何在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 编程语言检查三个点是否共线。

展示一些实例给你看

Instance-1

的翻译为:

实例-1

假设给定坐标为(1,2), (3,4), (5,6)

所有三个点共线,因为它们位于同一条直线上。

Instance-2

的中文翻译为:

实例-2

假设给定坐标为(1,1), (1,4), (1,6)

所有三个点共线,因为它们位于同一条直线上。

Instance-3

的中文翻译为:

实例-3

假设给定坐标为(1,1), (2,4), (4,6)

所有三个点不共线,因为它们不在同一条直线上。

算法

  • 第 1 步 - 通过用户输入或初始化获取三个点。

  • 步骤 2 - 通过使用上述公式中的任何一个,检查三角形面积是否为零或斜率是否相同,然后打印三个点共线,否则三个点不共线。< /p>

  • 步骤 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。
登录后复制

方法二:通过找斜率

In this approach, three points will be initialized in the program。 Then calculate the slope of any pair of points and check if slope is equal with slope of other pair of points by using the slope formula。 If both slopes are equal then print three points are collinear。

示例

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。
登录后复制

In this article, we explored how to check if three points are collinear or not in Java by using different approaches。

以上是如何在Java中检查三个点是否共线?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板