求两条已知其方位俯仰角度的设想之间的夹角。如下图所示。

先定义两个结构体。

struct cAE
{double A;//弧度double E;//弧度
};struct cXYZ
{double X;double Y;double Z;
};

假设两条射线的长度,即模为1。
有两种方法。

  1. 三角函数推导。作一个a边和b边上分别取1的长度,成等腰三角形,求底边长,然后计算thet角。

    double SolarAngle::trigonometric(cAE SunAE, cAE CraftAE)
    {double alpha1=SunAE.A;double beta1=SunAE.E;double alpha2=CraftAE.A;double beta2=CraftAE.E;double thet=2*asin(sqrt(2-2*cos(beta1)*cos(beta2)*cos(alpha1-alpha2)-2*sin(beta1)*sin(beta2))/2);return thet;
    }
    
  2. 向量点乘计算。取模长度为1。

    double SolarAngle::dotProduct(cAE SunAE, cAE CraftAE)
    {cXYZ Sun_XYZ;cXYZ CraftAE_XYZ;double alpha1=SunAE.A;double beta1=SunAE.E;double alpha2=CraftAE.A;double beta2=CraftAE.E;Sun_XYZ.X=cos(beta1)*cos(alpha1);Sun_XYZ.Y=cos(beta1)*sin(alpha1);Sun_XYZ.Z=sin(beta1);CraftAE_XYZ.X=cos(beta2)*cos(alpha2);CraftAE_XYZ.Y=cos(beta2)*sin(alpha2);CraftAE_XYZ.Z=sin(beta2);double thet=acos(Sun_XYZ.X*CraftAE_XYZ.X+Sun_XYZ.Y*CraftAE_XYZ.Y+Sun_XYZ.Z*CraftAE_XYZ.Z);return thet;
    }
    

已知两条射线的方位俯仰角,求两线夹角的方法(C++实现)相关推荐

  1. 求两条曲线的交点 matlab,matlab求两条曲线交点

    用Matlab 实现了 3 次样条曲线插值的算法.边界条件取为自然边界条件,即:... 二元一次函数曲线拟合的Matlab实现_IT/计算机_专业资料.第 27 卷 1... (x1)); y2=in ...

  2. 从键盘输入直接三角形的两条直接边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数

    从键盘输入直接三角形的两条直接边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数 解析: #include <stdio.h> #include <math.h>int ...

  3. 【C++】已知二叉树先序遍历+中序遍历 求后序遍历

    题目:已知二叉树先序遍历+中序遍历 求后序遍历 对于一棵二叉树,给定其先序遍历的结果序列和中序遍历的结果序列,请写出其后序遍历的结果序列. 输入样例: GDAFEMHZ(先序遍历的结果序列) ADEF ...

  4. 两条直线的交点 c语言,计算两条直线的交点(C#)

    PS:从其他地方看到的源码是有问题的.下面是修正后的 /// /// 计算两条直线的交点 /// /// L1的点1坐标 /// L1的点2坐标 /// L2的点1坐标 /// L2的点2坐标 /// ...

  5. java 球面距离_[置顶] C语言实验题:已知地球上两点的经度和纬度求其球面距离...

    要求:地球的平均半径为6371千米,已知地球上两个城市A.B的经度和纬度,编程序求出这两个城市之间的地面距离. 首先,固定两点,a(x1,y1,z1),b(x2,y2,z2). 由空间解析几何及向量知 ...

  6. 已知直角三角形的斜边是某个整数,求满足这个条件的不同直角三角形的个数。

    勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形. 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数. 求满足这个条件的不同直角三角形的个数. [数据格式] 输入一 ...

  7. 已知T(n)=2T(n/2)+n,求O(n)?

    已知T(n)=2T(n/2)+n;求O(n)? 总结网上的归纳,自己再写一遍: T(n)=2T(n/2)+n 第一次,即k=1T(n/2)=2T((n/2)/2)+n/2 第二次,即k=2T((n/2 ...

  8. 数据结构----二叉树已知先序和中序遍历序列求后序遍历

    说明 通过先序和中序或者中序和后序我们可以还原出原始二叉树,但是通过先序和后序是无法还原出原始二叉树也即是说,只有通过先序和中序,或者中序和后序我们才可以唯一的确定一个二叉树. 例子一 已知先序和中序 ...

  9. EXCEL中批量计算“已知一点坐标、方位角、距离,求坐标点”

    前言 日常工作中有时需要计算已知点.正本方位角.距离计算坐标点.如下图 已知:蓝点坐标.正本方向夹角为方位角,蓝点与未知点(红色)之间的距离,求红色点坐标. 小O地图Excel插件版提供在excel表 ...

最新文章

  1. 构建微服务时的三大常见错误
  2. (转)另一篇:VC导出数据到EXCEL
  3. name optimize is not defined 怎么解决_Web前端:怎么在JavaScript中比较对象?
  4. poj 3308(最小割求解最小点权覆盖)
  5. 记HTML5 a 标签的一个小坑
  6. Linux 灾难恢复 Linux 系统启动故障修复
  7. 微软中文网,越办越好了!
  8. [转]动态添加Fragments
  9. LeetCode--81. 搜索旋转排序数组Ⅱ(遍历法,二分法)
  10. Linux系统内存管理实验报告,Linux 内存管理 综合实验报告.pdf
  11. sql操作mysql数据库_一些常用的操作MySQL数据库的sql语句
  12. linux怎么定义程序执行有限级别,linux 内核是什么?
  13. Alex 的 Hadoop 菜鸟教程: 第22课 分布式日志收集组件:flume
  14. 大数据的价值,主要体现在哪几方面?
  15. 巴菲特十大量化选股经
  16. JNA 中 String 转 Pointer
  17. 额头、太阳穴、两鬓长痘痘怎么回事?
  18. 推荐系统详解(三)近邻推荐
  19. Java时间戳是什么
  20. 爽啊,这么多有趣好玩强大的 Python 库

热门文章

  1. 陕西有计算机专业的二本大学排名及分数线,陕西二本录取分数线2021?附陕西二本公办学校实力排名...
  2. SpringBoot2.1 - Quartz自动化配置集成 yml方式配置免配置类和properties
  3. 艺术科技杂志艺术科技杂志社艺术科技编辑部2023年第7期目录查阅
  4. 蛙蛙推荐:微软网络讲座系列教程视频下载
  5. wd移动硬盘支持linux,玩转移动硬盘存储之WD篇
  6. 黑金AX301开发板学习(1)——流水灯实验及黑金AX301开发板资料
  7. 【wordpress】如何把wordpress从本地服务器迁移到网站主机上
  8. 每日新闻:苹果再发新产品;百度捷报频传:Q3净利润大涨56%、联合福特测试自动驾驶、与上海宝山合建“超前智能城市”...
  9. U盘插入电脑不显示的解决办法
  10. 详细解析OLED及相关代码,基于SH1107的1.3寸OLED屏