计算角度ACB,其中C是中心点A B C三个点的坐标为A(x1,y1),B(x2,y2),C(x3,y3)

#include <iostream>
#include <cmath>
using namespace std;/*
get angle ACB, point C is the center point
A(x1,y1)
B(x2,y2)
C(x3,y3)
*/
double get_angle(double x1, double y1, double x2, double y2, double x3, double y3)
{double theta = atan2(x1 - x3, y1 - y3) - atan2(x2 - x3, y2 - y3);if (theta > M_PI)theta -= 2 * M_PI;if (theta < -M_PI)theta += 2 * M_PI;theta = abs(theta * 180.0 / M_PI);return theta;
}int main()
{double x1 = 0;double y1 = 1;double x2 = 1;double y2 = 0;double x3 = -1;double y3 = -2;double angle1 = get_angle(x3, y3, x1, y1, x2, y2);double angle2 = get_angle(x1, y1, x2, y2, x3, y3);double angle3 = get_angle(x2, y2, x3, y3, x1, y1);cout << angle2 << endl;cout << angle3 << endl;cout << angle1 << endl;return 0;
}

参考:stackoverflow计算三点之间的夹角

C++根据三个点坐标计算夹角相关推荐

  1. python 根据三点坐标计算夹角

    最近在一些夹角计算的时候,根据三点坐标计算夹角,并封装为方法,方便以后调用. def cal_ang(point_1, point_2, point_3):"""根据三点 ...

  2. 计算三个经纬度坐标的夹角

    import mathdef geo2xyz(lat, lng, r=6400):'''将地理经纬度转换成笛卡尔坐标系:param lat: 纬度:param lng: 经度:param r: 地球半 ...

  3. java求外接圆圆心_由三点三维坐标计算圆半径和圆心位置

    [实例简介] 通过输入任意三点空间坐标自动判断三点是否在一条直线上,若不在则求三点外接圆的圆心位置和半径,计算精度可调节.解决了"知三点求圆心半径"程序对于某些点无法计算的缺陷. ...

  4. 全站仪坐标计算机公式,全站仪使用方法及坐标计算讲解

    大家都知道随着建筑工程和仪器设备的发展,全站仪现已替代了经纬仪广泛应用于建筑工程中. 为了更好的掌握测量放线知识,今天对全站仪的使用和坐标计算和大家相互交流学习一下. 全站仪常规注意事项 在使用本仪器 ...

  5. WebGL入门(六)-通过坐标计算实现图形的平移、旋转和缩放变换

    通过坐标计算实现图形的平移.旋转和缩放变换 1.图形的平移 1.1平移效果说明 1.2平移原理说明 1.3平移图形的实现步骤 1.3.1在顶点着色器中声明存放平移信息的uniform变量u_Trans ...

  6. 次坐标从0开始_全站仪测量使用方法及坐标计算教程

    全站仪常规注意事项: 在使用本仪器之前, 要把各种注意事项烂熟于心,务必检查并确认该仪器各项功能运行正常. 1.不要将仪器直接对准太阳 将仪器直接对准太阳会严重伤害眼睛.若仪器的物镜直接对准太阳, 也 ...

  7. 次坐标从0开始_全站仪测量使用方法及坐标计算,视频一步一步讲解

    全站仪常规注意事项: 在使用本仪器之前, 要把各种注意事项烂熟于心,务必检查并确认该仪器各项功能运行正常. 1.不要将仪器直接对准太阳 将仪器直接对准太阳会严重伤害眼睛.若仪器的物镜直接对准太阳, 也 ...

  8. 次坐标从0开始_全站仪使用方法及坐标计算讲解

    大家都知道随着建筑工程和仪器设备的发展,全站仪现已替代了经纬仪广泛应用于建筑工程中. 为了更好的掌握测量放线知识,今天对全站仪的使用和坐标计算和大家相互交流学习一下. 全站仪常规注意事项 在使用本仪器 ...

  9. 分享几个Qt界面绘图时使用到的坐标计算算法

    // 存放一些常用的函数或者一些常用功能的实现算法; // // 圆周率; #ifndef M_PI #define M_PI 3.14159265358979323846 #endif // // ...

  10. iOS开发UI篇—九宫格坐标计算

    iOS开发UI篇-九宫格坐标计算 一.要求 完成下面的布局 二.分析 寻找左边的规律,每一个uiview的x坐标和y坐标. 三.实现思路 (1)明确每一块用得是什么view (2)明确每个view之间 ...

最新文章

  1. php生成sitemap
  2. spring源码解析五
  3. 2022版全球及中国蓝宝石材料产业容量预测与十四五投资战略研究报告
  4. Docker 在容器中部署静态网站
  5. 已知两边和夹角求第三边长_数学九年级上册3.4.2节利用两边及夹角判定三角形相似微课视频|知识点...
  6. zcmu1734: 18岁
  7. YBTOJ洛谷P2223:软件开发(费用流)
  8. Effective C++学习第一天
  9. 自然语言处理常用标识符<UNK>,<PAD>,<SOS>,<EOS>等
  10. python中直方图bins是什么意思_Python 中下划线的 5 种含义都是什么?
  11. 轻松精通数据库管理之道——运维巡检之六(作业运行情况)
  12. linux fdisk,df,mount挂载及查看磁盘信息
  13. 《概率论基础教程》总结 -- 样本空间、概率、条件概率 等
  14. Linux设备驱动入门
  15. 如何做职业规划并进行求职准备(持续更新)
  16. Juniper交换机配置命令_学习笔记
  17. 咸鱼ZTMR实例—PS2手柄
  18. matlab模拟正态分布曲线拟合,[MATLAB数学相关] 急请教:正态分布曲线拟合问题
  19. 磊科路由器怎么设置虚拟服务器,磊科无线路由器静态IP地址分配如何配置
  20. CMMI 认证为什么要提前准备?评估方式是怎样的?

热门文章

  1. 【图】公路车为什么最好不要用脚撑
  2. 面向Java程序员的Scala教程
  3. NRF24L01 无线模块
  4. stm32f103呼吸灯(PWM脉冲宽度调制)
  5. java工具类书写规范
  6. 西电计算机学院嵌入式所,祝贺计算机科学与技术学院张亮老师团队论文被顶级期刊TNNLS录取...
  7. ntp服务restrict_Linux配置ntp时间服务器(全)
  8. 分区助手扩大c盘后自动修复_如何扩大c盘空间? 不用重装系统,分区助手轻松搞定...
  9. 功能安全专题之端到端(E2E) 的通信保护
  10. 数据分析——Python内容学习【1】