JS计算三个坐标点的夹角
先计算两个线段的弧度 再乘以180/π 得到两个点到中间点的夹角角度
function getAngle(pointA, pointB, pointC) {
const ABX = pointA.longitude - pointB.longitude;
const ABY = pointA.latitude - pointB.latitude;
const CBX = pointC.longitude - pointB.longitude;
const CBY = pointC.latitude - pointB.latitude;
const AB_MUL_CB = ABX * CBX + ABY * CBY;
const DIST_AB = Math.sqrt(ABX*ABX+ABY*ABY)
const DIST_CB = Math.sqrt(CBX*CBX+CBY*CBY)
const cosValue = AB_MUL_CB/(DIST_AB*DIST_CB);
return Math.acos(cosValue)*180/Math.PI;
}
//90度
console.log(getAngle({longitude:116.379817,latitude:39.930138},{longitude:116.3805,latitude:39.91333},{longitude:116.398035,latitude:39.913856}))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律