如何在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 - 通过使用上述公式中的任何一个,检查三角形面积是否为零或斜率是否相同,然后打印三个点共线,否则三个点不共线。
步骤 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中检查三个点是否共线?的详细内容,更多请关注其它相关文章!