首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用于在3D空间中查找直线和点之间距离的Java代码

以下是用于在3D空间中查找直线和点之间距离的Java代码:

代码语言:java
复制
import java.util.Scanner;

public class DistanceCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入直线上两点的坐标(x1, y1, z1, x2, y2, z2):");
        double x1 = scanner.nextDouble();
        double y1 = scanner.nextDouble();
        double z1 = scanner.nextDouble();
        double x2 = scanner.nextDouble();
        double y2 = scanner.nextDouble();
        double z2 = scanner.nextDouble();

        System.out.println("请输入点的坐标(x, y, z):");
        double x = scanner.nextDouble();
        double y = scanner.nextDouble();
        double z = scanner.nextDouble();

        double distance = calculateDistance(x1, y1, z1, x2, y2, z2, x, y, z);
        System.out.println("点到直线的距离为:" + distance);
    }

    public static double calculateDistance(double x1, double y1, double z1, double x2, double y2, double z2, double x, double y, double z) {
        double A = (y2 - y1) * (z - z1) - (z2 - z1) * (y - y1);
        double B = (z2 - z1) * (x - x1) - (x2 - x1) * (z - z1);
        double C = (x2 - x1) * (y - y1) - (y2 - y1) * (x - x1);

        double distance = Math.abs(A * x + B * y + C * z + (A * x1 + B * y1 + C * z1)) / Math.sqrt(A * A + B * B + C * C);
        return distance;
    }
}

这段代码用于计算在3D空间中,给定一条直线和一个点,求点到直线的距离。用户需要输入直线上两点的坐标和点的坐标,然后程序会计算并输出点到直线的距离。

这段代码没有直接提及腾讯云相关产品,因为在这个问题中没有与云计算相关的需求。如果您有其他与云计算相关的问题,我将很乐意为您提供帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

HDOJ(HDU) 1785 You Are All Excellent(角度运算)

Problem Description 本次集训队共有30多人参加,毫无疑问,你们都是很优秀的,但是由于参赛名额有限,只能选拔部分队员参加省赛。从学校的角度,总是希望选拔出最优秀的18人组成6支队伍来代表学校。但是,大家也知道,要想做到完全客观,是一件很难的事情。因为选拔的标准本身就很难统一。 为了解决这个难题,我现在把问题作了简化,现在假设每个队员都是二维平面中的一个点,用(xi,yi)坐标来表示,一个队员的能力可以用他到原点的欧几里德距离来表示。由于这种排名标准太~客观了,新队员很难有出头的机会,很多人很是郁闷。特别是一个废话不是很多、不是特别暴躁、号称盖帽高手的伪**就很有意见,他现在要求改革排名规则,并且自己提出了一套号称绝对公正的方案: 现在不是用一个点来表示一个队员了,而是用原点到该队员所在的点所构成的向量来表示一个队员。如果该向量和X正轴夹角比较小的话,就说他的能力比较高,排名就应该靠前。 这就是著名的“伪氏规则”(说实话,这规则我有点怀疑其客观性,因为我知道他的坐标是(3.1,0.1)…)

01
领券