From e3bd13f6f12aae8a01a61d3368373fa9636549eb Mon Sep 17 00:00:00 2001
From: nilupeng <qingingrunt2010@qq.com>
Date: Thu, 13 Jan 2022 10:16:30 +0000
Subject: [PATCH] 三角算法更新

---
 app/src/main/java/com/demo/navtogether/utils/TriangleUtils.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 .idea/gradle.xml                                                |    3 +--
 2 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 62c56f9..2d4f407 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,7 +4,7 @@
   <component name="GradleSettings">
     <option name="linkedExternalProjectsSettings">
       <GradleProjectSettings>
-        <option name="testRunner" value="PLATFORM" />
+        <option name="testRunner" value="GRADLE" />
         <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
         <option name="gradleHome" value="D:/gradle-4.4" />
@@ -16,7 +16,6 @@
           </set>
         </option>
         <option name="resolveModulePerSourceSet" value="false" />
-        <option name="useQualifiedModuleNames" value="true" />
       </GradleProjectSettings>
     </option>
   </component>
diff --git a/app/src/main/java/com/demo/navtogether/utils/TriangleUtils.java b/app/src/main/java/com/demo/navtogether/utils/TriangleUtils.java
index 02477ec..48be8f0 100644
--- a/app/src/main/java/com/demo/navtogether/utils/TriangleUtils.java
+++ b/app/src/main/java/com/demo/navtogether/utils/TriangleUtils.java
@@ -18,11 +18,13 @@
         System.out.println(String.format("角度 坐标计算:a:%s,b:%s,c:%s",getDegrees(pA,pB,pC),getDegrees(pB,pC,pA),getDegrees(pC,pA,pB)));
         System.out.println(String.format("角度 转换为边长计算:a:%s,b:%s,c:%s",getDegrees2(pA,pB,pC),getDegrees2(pB,pC,pA),getDegrees2(pC,pA,pB)));
         System.out.println(String.format("角度 边长计算:a:%s,b:%s,c:%s",getDegrees(a,b,c),getDegrees(b,c,a),getDegrees(c,a,b)));
-        System.out.println("边长 c:"+getLengthOfHypotenuse(a,b ));
+        System.out.println("边长 c:"+getHypotenuseFromLength(a,b ));
         System.out.println("边长 c:"+getLengthOfSide(a,b ,getDegrees2(pA,pB,pC)));
         System.out.format("%s 度的余弦值为 %s", Math.toRadians(90), Math.cos(Math.toRadians(90)));
     }
 
+
+    /************************直角三角算法*******************************/
 
     /**
      * 直角三角获取斜边
@@ -30,8 +32,56 @@
      * @param b 直角边长
      * @return 斜边边长
      */
-    public static Double getLengthOfHypotenuse(double a,double b){
+    public static Double getHypotenuseFromLength(double a,double b){
         return Math.sqrt(a*a+b*b);
+    }
+
+    /**
+     * 直角三角形 根据角度和直角边长求斜边
+     * @param degree    角度
+     * @param width     直角边长
+     * @return 斜边边长
+     */
+    public static double getHypotenuseFromDegree(double degree,double width){
+        double cos = Math.cos(Math.toRadians(degree));//余弦
+        return width / cos;
+    }
+
+    /**
+     * 直角三角形 根据角度和斜边求直角边
+     * @param degree    角度
+     * @param width     斜边
+     * @return 斜边边长
+     */
+    public static double getRightSideFromDegree(double degree,double width){
+        double cos = Math.cos(Math.toRadians(degree));
+        return width * cos;
+    }
+
+    /**
+     * 直角三角形 根据直角边和斜边求直角边
+     * @param a 直角边
+     * @param b 斜边
+     * @return 直角边长
+     */
+    public static double getRightSideFromLength(double a,double b){
+        return Math.sqrt(b*b - a*a);
+    }
+
+
+
+    /************************end 直角三角算法*******************************/
+
+    /**
+     * 根据 B角和C角的a边长,获取A角-C角的b边长
+     * @param A
+     * @param B
+     * @param a
+     * @return
+     */
+    public static double getSideFromSideAndDegree(double A,double B,double a){
+        // a÷sin A == b ÷ sin B
+        return a/Math.sin(Math.toRadians(A))*Math.sin(Math.toRadians(B));
     }
 
     /**
@@ -94,7 +144,7 @@
         return (int) (180 * radian / Math.PI);
     }
 
-/*    *//**
+    /**
      * 根据坐标 获取角度
      * @param pA  坐标
      * @param degreesPoint  坐标  获取该点的角度

--
Gitblit v1.9.1