public class DistanceUtils {
public static void main(String[] args) {
float[] p = {80, 80, -5}; //测量点
float[] p1 = {1, 1, 1}; //平面上的点1
float[] p2 = {50, 50, 50}; //平面上的点2
float[] p3 = {80, 20, -1}; //平面上的点3
// float[] p = {4, 4, -5};
// float[] p1 = {-2, 2, 0}; //平面上的点1
// float[] p2 = {-2, 0, 2}; //平面上的点2
// float[] p3 = {-2, 5, 5}; //平面上的点3
System.out.println(distance2area(p, p1, p2, p3));
}
/**
* 计算点到平面的距离
* @param point 点的坐标
* @param area 平面的一般方程式 Ax + By + Cz + D = 0;area = [A, B, C, D];
* @return
*/
public static float distance2area(float[] point, float[] area){
float distance = (float)(absSum(point, area) / Math.sqrt(sqrtSum(area)));
BigDecimal a = BigDecimal.valueOf(distance);
return a.setScale(2, RoundingMode.HALF_UP).floatValue();
}
/**
* 计算点到平面的距离
* @param point 点的坐标
* @param areaPoint1 平面上点的坐标1
*
Java计算点到面、点到线的距离
最新推荐文章于 2025-01-12 17:40:36 发布