• JTS: 15 Angle 角度计算


    这里写目录标题

    版本

    org.locationtech.jts:jts-core:1.19.0
    链接: github

    代码

    在这里插入图片描述
    在这里插入图片描述

    package pers.stu.algorithm;
    
    import org.locationtech.jts.algorithm.Angle;
    import org.locationtech.jts.geom.Coordinate;
    import org.locationtech.jts.geom.GeometryFactory;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    /**
     * 角度使用
     * @author LiHan
     * 2023-11-06 10:11:54
     */
    public class AngleUse {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(AngleUse.class);
    
        private Coordinate A = null;
    
        private Coordinate B = null;
    
        private Coordinate C = null;
    
        public static void main(String[] args) {
            AngleUse angleUse = new AngleUse();
            angleUse.init();
            angleUse.test02();
        }
    
        public void init() {
            A = new Coordinate(1, 3);
            B = new Coordinate(1, 1);
            C = new Coordinate(3, 1);
        }
    
        public void test00() {
            LOGGER.info("是否是锐角:{}", Angle.isAcute(A, B, C));
            LOGGER.info("是否是钝角:{}", Angle.isObtuse(A, B, C));
            LOGGER.info("最小夹角:{}", Angle.angleBetween(A, B, C));
            LOGGER.info("最小夹角:{}", Angle.toDegrees(Angle.angleBetween(A, B, C)));
    		
    		/*
    		 17:11:40.006 [main] INFO  pers.stu.algorithm.AngleUse - 是否是锐角:false
    		 17:11:40.007 [main] INFO  pers.stu.algorithm.AngleUse - 是否是钝角:false
    		 17:11:40.008 [main] INFO  pers.stu.algorithm.AngleUse - 最小夹角:1.5707963267948966
    		 17:11:40.008 [main] INFO  pers.stu.algorithm.AngleUse - 最小夹角:90.0
    		*/
        }
    
        public void test01() {
            //找对应的位置 0到180(逆时针)之间返回正数,180-360(顺时针)之前返回负数
            System.out.println(Angle.toDegrees(Angle.normalize(Angle.toRadians(50))));
            //50.0
            System.out.println(Angle.toDegrees(Angle.normalize(Angle.toRadians(181))));
            //-179.0
            System.out.println(Angle.toDegrees(Angle.normalize(Angle.toRadians(369))));
            //9.0
            System.out.println(Angle.toDegrees(Angle.normalize(Angle.toRadians(-10))));
            //-10.0
        }
    
        public void test02() {
            Coordinate Bi = new Coordinate(0,2);
            Coordinate Ai = new Coordinate(1,1);
            Coordinate Ci = new Coordinate(1,3);
            //延Ai-Bi边逆时针转到Ai-CI边的角度值
            System.out.println("Angle.interiorAngle(Bi,Ai,Ci)角度="+Angle.toDegrees(Angle.interiorAngle(Bi,Ai,Ci)));
            //Angle.interiorAngle(Bi,Ai,Ci)角度=315.0
    
            //延Ci-Ai边逆时针转到Ai-BI边的角度值
            System.out.println("Angle.interiorAngle(Ci,Ai,Bi)角度="+Angle.toDegrees(Angle.interiorAngle(Ci,Ai,Bi)));
            //Angle.interiorAngle(Ci,Ai,Bi)角度=45.0
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
  • 相关阅读:
    搭建git私人仓库
    PolarDB-X 全局 Binlog 解读之性能篇(上)
    基于vue的实时交流聊天系统软件设计
    健身耳机哪些品牌好?健身运动耳机推荐
    线程是什么?线程的相关概念以及基本的使用方法说明【内附可执行源码注释完整】
    JavaEE - Spring MVC
    虹科案例 | 2020款捷豹XE车倒车影像无法显示
    P1972 [SDOI2009] HH的项链
    MySQL 深分页优化
    MySQL必知必会_第十三~十七章知识总结
  • 原文地址:https://blog.csdn.net/God_Father_kao/article/details/134250615