//與X軸的夾角 在X軸下面
public void Test2() {
var p1 = new Point(40, 30);
var p2= new Point(80, 60);
var angle = Math.Atan2((p2.Y - p1.Y), (p2.X - p1.X)); //弧度 0.6435011087932844
var theta= angle * (180 / Math.PI); //角度 36.86989764584402
MessageBox.Show(theta.ToString());
}
這是第四象限的。下面我這裡還有jS版本的:
// 坐标1
let position1 = {
lng: 118.112193,
lat: 24.580612,
}
// 坐标2
let position2 = {
lng: 118.112494,
lat: 24.580883
}
let valLng = position1.lng - position2.lng;
let valLat = position1.lat - position2.lat;
// 返回一個絕對值
let absoluteLng = Math.abs(valLng);
let absoluteLat = Math.abs(valLat);
// 取得三角形的斜邊
let hypotenuse = Math.hypot(absoluteLng, absoluteLat);
// 計算弧度
let radina = Math.acos(absoluteLng / hypotenuse);
// 計算角度
let angle = Math.floor(radina * 180 / Math.PI);
console.log("兩坐标點計算出的角度為:", angle)
// 計算出标記點真正旋轉的角度
if (valLng > 0) {
if (valLat > 0) {
// 第三象限
angle = 360 - angle;
} else {
// 第二象限
angle = angle;
}
} else {
if (valLat > 0) {
//第四象限
angle = 180 angle;
} else {
// 第一象限
angle = 180 - angle;
}
}
console.log("坐标點真正旋轉的角度:", angle)
//兩坐标點計算出的角度為: 41
//VM269:49 坐标點真正旋轉的角度: 139
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!