com.supermap.data

类 MathUtil



  • public class MathUtil
    extends Object
    数学工具类,用于实现点绕旋转轴旋转、角度与弧度互转、计算三维线段间的距离、计算与不同两个向量均垂直的向量,支持判断三维点是否在三维线段上、三维线段是否相交等。
    从以下版本开始:
    11.3.0。
    • 字段详细资料

      • DEGTORAD

        public static final double DEGTORAD
        另请参阅:
        常量字段值
      • RADTODEG

        public static final double RADTODEG
        另请参阅:
        常量字段值
    • 构造器详细资料

      • MathUtil

        public MathUtil()
    • 方法详细资料

      • rotate

        public static Point3D rotate(Point3D point,
                                     double dAangle,
                                     Vector3D vecRotateAxis)
        计算点绕旋转轴旋转后的点或向量。
        参数:
        point - 三维点,参数类型支持Point3D、Vector3D。
        dAangle - 旋转的角度。
        vecRotateAxis - 旋转轴。
        返回:
        新点或新向量。
      • degreeToRadian

        public static double degreeToRadian(double degree)
        角度转弧度。
        参数:
        degree - 角度。
        返回:
        弧度。
      • radianToDegree

        public static double radianToDegree(double radians)
        弧度转角度。
        参数:
        radians - 弧度。
        返回:
        角度。
      • distance

        public static double distance(Point3D point,
                                      Segment3D segment)
        计算点到线段间的距离。
        参数:
        point - 三维点,参数类型支持Point3D、Vector3D。
        segment - 三维线段。
        返回:
        点到线段间的距离。
      • isOnSegment

        public static boolean isOnSegment(Point3D point,
                                          Segment3D segment)
        判断点是否在线段上。
        参数:
        point - 三维点,参数类型支持Point3D、Vector3D。
        segment - 三维线段。
        返回:
        点是否在线段上。返回true,表示点在线段上,返回false,表示点未在线段上。
      • isIntersect

        public static Boolean isIntersect(Segment3D segment1,
                                          Segment3D segment2)
        判断两个三维线段对象是否相交。
        参数:
        segment1 - 三维线段。
        segment2 - 三维线段。
        返回:
        是否相交。返回true,表示两个三维线段对象相交,返回false,表示两个三维线段对象不相交。
      • distance

        public static double distance(Segment3D segment1,
                                      Segment3D segment2)
        计算两个三维线段对象之间的最短距离。
        参数:
        segment1 - 三维线段。
        segment2 - 三维线段。
        返回:
        线段之间的最短距离,相交返回0。
      • perpendicular

        public static Vector3D perpendicular(Vector3D v1,
                                             Vector3D v2)
        返回与两个三维向量均垂直的向量,方向与v1xv2方向相同。
        参数:
        v1 - 三维向量。
        v1 - 三维向量。
        返回:
        新向量。

Copyright © 2021–2025 SuperMap. All rights reserved.