很简单的问题,因为遇到好几次了,之前写过的代码很难找到,因此写在这儿以做记录。

1.math.h函数库

  • atan(double x):求x的反正切,其返回值位于[-pi/2,+pi/2]之间。
  • atan2(double y,double x):求y/x的反正切,其返回值位于[-pi,+pi]之间。

通常来说,直线的斜率已知,且不为90度时,可采用atan,否则会报错;一般采用atan2更好。

2.c++实现

以下计算输入两个向量,计算两个向量之间的夹角,不考虑旋转方向,无正负,0-pi之间。
其中method为1表示弧度,为0表示角度。

/** 计算两个向量的夹角,* @tparam T 点的类型* @param pt1 点1* @param pt2 点2* @param method:0为角度,1为弧度* @return 点1向量旋转到点2向量的角度,不考虑顺逆方向的夹角最小值;0~pi之间*/
#define PI 3.141592653
template <typename T>
double_t getAngleDiff(T pt1,T pt2,int method =0){double_t theta1 = atan2(pt1.y,pt1.x);//返回(-pi,pi)之间的反正切弧度值double_t theta2 = atan2(pt2.y,pt2.x);double_t result = abs(theta2-theta1)>PI?2*PI-abs(theta2-theta1):abs(theta2-theta1);if(method==1){return result;}return result*180/PI;
}

平面上两条直线的夹角相关推荐

  1. 判断平面上两条直线是否相交

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 判断平面 ...

  2. 平面解析几何----过抛物线上一点作互相垂直的两条直线交抛物线与点AB,AB恒过定点P的坐标

    过抛物线上一点作互相垂直的两条直线交抛物线与点AB,AB恒过定点P的坐标 (x0+2P/(-λ),-y0)

  3. 有关如何判断平面上两直线是否平行的问题

    这几天在写一个项目,其中涉及到两条直线的平行的判断,我在这几天里考虑了几种方法,都不够理想,最后想到了下面的方法. 这里,我可以分别得到两条直线上的两个点,也就是中学时候学的两点式的直线. 假设 直线 ...

  4. 判断两条直线是否相交c语言,学习OpenCV3:判断两条直线相交,并计算交点和夹角...

    一.问题 已知两条直线 和 ,现希望判断 与 间是否相交.若相交,计算出两条直线的交点和夹角. 二.分析 1.直线方程 的直线方程: 的直线方程: 提示: 和 不能同时为0.若 和 同时为0,起点和终 ...

  5. java根据两条直线的四个坐标点证明这两条线平行(计算直线斜率)或者三个点在一条直线上

    第一步:原理: 1.若两条直线斜率存在,则:斜率相等,则这两直线平行; 2.若两条直线斜率都不存在,则这两条直线也平行.所以说,如果两条直线平行,则它们的斜率相等[是错误的] 反过来:若两直线斜率相等 ...

  6. 两条直线求交点c语言,C§ 3.3.1两条直线的交点坐标(5页)-原创力文档

    § 3.1两条直线的交点坐标 学习目标 1.掌握判断两直线相交的方法:会求两直线交点坐标: 2.体会判断两直线相交中的数形结合思想. 学习过程 一.课前准备: (预习教材P112~ P114,找出疑 ...

  7. 求空间两条直线之间的距离

    1. 前言 最近老板让写一段空间点匹配的代码, 其中涉及到求空间两直线之间的距离,写起来满费劲的, 这里做一个记录. 2. 处理思路 空间两直线之间的位置关系主要可以分为: 重合, 平行, 相交, 异 ...

  8. 使用C++面向对象思想计算两条直线交点

    使用C++面向对象思想计算两条直线交点 以下是使用C++面向对象思想计算两条直线交点的示例代码: #include <iostream>using namespace std;class ...

  9. Matlab计算两条直线的交点坐标

    %% 已知两条直线的斜率和截距,求交点坐标 function [x,y]=linecross(k1,b1,k2,b2)x=[];y=[];if k1==k2&b1==b2disp('chong ...

  10. java两条直线交点_求两条直线的交点坐标

    看UdaCity机器学习大纲,发现入门班中有一条:编写算法计算一组直线或平面的交点. 遂从最简单的直角坐标系两条直线的交点开始, 直线1的方程解析式: 2x-y=0; 直线2的方程解析式: 4x-5y ...

最新文章

  1. Java基础加强总结(三)——代理(Proxy)
  2. 多线程基础篇(3)——初试锁
  3. vary渲染图没了_云渲染哪个好用?云渲染平台对比
  4. Boost------ windows 库的编译安装
  5. python谷歌网页爬虫_python爬虫入门01:教你在 Chrome 浏览器轻松抓包
  6. 网易云信携手房天下打造高质量音视频会议
  7. Android APK 打包过程 MD
  8. java的多态怎么理解_JAVA多态的理解
  9. VB计算文本文件的行数
  10. d3 + geojson in node
  11. Android 身份证号码校验
  12. MATLAB滑动窗口(移动方差)
  13. 七牛云成功通过 CMMI3 认证
  14. RecyclerView 报Scrapped or attached views may not be recycled. as Scrap:false isAttached:true异常
  15. DEV编写C语言方法简介
  16. 小巧简便且美观的桌面便签记事备忘工具
  17. 【C语言】PAT乙级:1007 素数对猜想
  18. 一个股市老操盘手的突然感悟
  19. netty整合shiro,报There is no session with id [xxxxxx]问题定位及解决
  20. miui v5 android版本,速度明显提升 小米2S刷安卓4.4版MIUI V5

热门文章

  1. php smarty安装,smarty安装(PHP)
  2. linux firefox 解雇ie,Fire IE
  3. 鸟哥私房菜linux就该这么学-学习记录
  4. Maximum call stack size exceeded
  5. 快播资源地址转百度影音地址v1.2
  6. Linux搭建邮件服务器postfix
  7. 最新Linux系统安装腾讯QQ教程(非Wine)
  8. 免费的身份证归属地查询接口
  9. 深入浅出Go Runtime
  10. windows优化大师怎么用_曾经辉煌的装机必备软件,你用过几个?