From b5c6c200d60aae805614495512ab24eafcce1fb9 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期四, 02 四月 2020 17:53:45 +0800
Subject: [PATCH] 摆正考试地图
---
app/src/main/java/safeluck/drive/evaluation/util/Utils.java | 47 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 44 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
index 4098c9f..6336c9f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -416,13 +416,13 @@
private static boolean isEqual(double a,double b){
return (Math.abs(a-b)<1e-3);
}
- private static Point rotatePoint(Point oldPoint,Point centre,double degree){
+ public static Point rotatePoint(Point oldPoint,Point centre,double degree){
Point newPoint = new Point(0.0,0.0);
newPoint.setX(getdouble((oldPoint.getX()-centre.getX())*cos(toRadians(degree)) -
- (oldPoint.getY()-centre.getY())*sin(toRadians(degree)) + centre.getX(),6)) ;
+ (oldPoint.getY()-centre.getY())*sin(toRadians(degree)) + centre.getX(),4)) ;
newPoint.setY(getdouble( (oldPoint.getX()-centre.getX())*sin(toRadians(degree))
- + (oldPoint.getY()-centre.getY())*cos(toRadians(degree)) + centre.getY(),6));
+ + (oldPoint.getY()-centre.getY())*cos(toRadians(degree)) + centre.getY(),4));
return newPoint;
}
@@ -436,6 +436,47 @@
return b.setScale(reserve, BigDecimal.ROUND_HALF_UP).doubleValue();
}
+
+ public static double YawOf(Point p1, Point p2)
+ {
+ double deg = 0.0;
+
+ if (Math.abs(p1.getY() - p2.getY()) <= 1e-3) {
+ if (p1.getX() > p2.getX()) {
+ deg = 90;
+ } else {
+ deg = 270;
+ }
+ } else if (Math.abs(p1.getX() - p2.getX()) <= 1e-3) {
+ if (p1.getY() > p2.getY()) {
+ deg = 0;
+ } else {
+ deg = 180;
+ }
+ } else {
+ deg = Math.atan(Math.abs(p1.getX() - p2.getX()) /
+ Math.abs(p1.getY() - p2.getY()));
+
+ deg = Math.toDegrees(deg);
+
+ if (p1.getX() > p2.getX() &&
+ p1.getY() > p2.getY()) {
+
+ } else if (p1.getX() < p2.getX() &&
+ p1.getY() > p2.getY()) {
+ deg = 360 - deg;
+ } else if (p1.getX() < p2.getX() &&
+ p1.getY() < p2.getY()) {
+ deg = 180 + deg;
+ } else if (p1.getX() > p2.getX() &&
+ p1.getY() < p2.getY()) {
+ deg = 180 - deg;
+ }
+ }
+
+ return deg;
+ }
+
public static String formatTimeYYMMDDHHmmSS(long begin_time) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
--
Gitblit v1.8.0