已知两条射线的方位俯仰角,求两线夹角的方法(C++实现)
求两条已知其方位俯仰角度的设想之间的夹角。如下图所示。
先定义两个结构体。
struct cAE
{double A;//弧度double E;//弧度
};struct cXYZ
{double X;double Y;double Z;
};
假设两条射线的长度,即模为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; }
向量点乘计算。取模长度为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++实现)相关推荐
- 求两条曲线的交点 matlab,matlab求两条曲线交点
用Matlab 实现了 3 次样条曲线插值的算法.边界条件取为自然边界条件,即:... 二元一次函数曲线拟合的Matlab实现_IT/计算机_专业资料.第 27 卷 1... (x1)); y2=in ...
- 从键盘输入直接三角形的两条直接边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数
从键盘输入直接三角形的两条直接边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数 解析: #include <stdio.h> #include <math.h>int ...
- 【C++】已知二叉树先序遍历+中序遍历 求后序遍历
题目:已知二叉树先序遍历+中序遍历 求后序遍历 对于一棵二叉树,给定其先序遍历的结果序列和中序遍历的结果序列,请写出其后序遍历的结果序列. 输入样例: GDAFEMHZ(先序遍历的结果序列) ADEF ...
- 两条直线的交点 c语言,计算两条直线的交点(C#)
PS:从其他地方看到的源码是有问题的.下面是修正后的 /// /// 计算两条直线的交点 /// /// L1的点1坐标 /// L1的点2坐标 /// L2的点1坐标 /// L2的点2坐标 /// ...
- java 球面距离_[置顶] C语言实验题:已知地球上两点的经度和纬度求其球面距离...
要求:地球的平均半径为6371千米,已知地球上两个城市A.B的经度和纬度,编程序求出这两个城市之间的地面距离. 首先,固定两点,a(x1,y1,z1),b(x2,y2,z2). 由空间解析几何及向量知 ...
- 已知直角三角形的斜边是某个整数,求满足这个条件的不同直角三角形的个数。
勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形. 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数. 求满足这个条件的不同直角三角形的个数. [数据格式] 输入一 ...
- 已知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 ...
- 数据结构----二叉树已知先序和中序遍历序列求后序遍历
说明 通过先序和中序或者中序和后序我们可以还原出原始二叉树,但是通过先序和后序是无法还原出原始二叉树也即是说,只有通过先序和中序,或者中序和后序我们才可以唯一的确定一个二叉树. 例子一 已知先序和中序 ...
- EXCEL中批量计算“已知一点坐标、方位角、距离,求坐标点”
前言 日常工作中有时需要计算已知点.正本方位角.距离计算坐标点.如下图 已知:蓝点坐标.正本方向夹角为方位角,蓝点与未知点(红色)之间的距离,求红色点坐标. 小O地图Excel插件版提供在excel表 ...
最新文章
- 构建微服务时的三大常见错误
- (转)另一篇:VC导出数据到EXCEL
- name optimize is not defined 怎么解决_Web前端:怎么在JavaScript中比较对象?
- poj 3308(最小割求解最小点权覆盖)
- 记HTML5 a 标签的一个小坑
- Linux 灾难恢复 Linux 系统启动故障修复
- 微软中文网,越办越好了!
- [转]动态添加Fragments
- LeetCode--81. 搜索旋转排序数组Ⅱ(遍历法,二分法)
- Linux系统内存管理实验报告,Linux 内存管理 综合实验报告.pdf
- sql操作mysql数据库_一些常用的操作MySQL数据库的sql语句
- linux怎么定义程序执行有限级别,linux 内核是什么?
- Alex 的 Hadoop 菜鸟教程: 第22课 分布式日志收集组件:flume
- 大数据的价值,主要体现在哪几方面?
- 巴菲特十大量化选股经
- JNA 中 String 转 Pointer
- 额头、太阳穴、两鬓长痘痘怎么回事?
- 推荐系统详解(三)近邻推荐
- Java时间戳是什么
- 爽啊,这么多有趣好玩强大的 Python 库
热门文章
- 陕西有计算机专业的二本大学排名及分数线,陕西二本录取分数线2021?附陕西二本公办学校实力排名...
- SpringBoot2.1 - Quartz自动化配置集成 yml方式配置免配置类和properties
- 艺术科技杂志艺术科技杂志社艺术科技编辑部2023年第7期目录查阅
- 蛙蛙推荐:微软网络讲座系列教程视频下载
- wd移动硬盘支持linux,玩转移动硬盘存储之WD篇
- 黑金AX301开发板学习(1)——流水灯实验及黑金AX301开发板资料
- 【wordpress】如何把wordpress从本地服务器迁移到网站主机上
- 每日新闻:苹果再发新产品;百度捷报频传:Q3净利润大涨56%、联合福特测试自动驾驶、与上海宝山合建“超前智能城市”...
- U盘插入电脑不显示的解决办法
- 详细解析OLED及相关代码,基于SH1107的1.3寸OLED屏