计算月球表面旋转作为地球坐标的函数

2023-12-30

我正在编写一个 Android 应用程序,可以显示任何日期的月相。目前,我正在展示北半球的一般视图(月球受阳光照射的部分从right to left0° 观察旋转)。然而,当从南半球观察月球时,这种运动是相反的,而在赤道附近,则完全发生了不同的情况。其中一些信息可以在这个关于月相的网页 http://resources.woodlands-junior.kent.sch.uk/time/moon/hemispheres.html.

我理想地希望能够计算出月球观测旋转的精确角度作为地球上纬度和经度的函数,而不是仅使用三个简化的情况(北纬、南纬和赤道):

double viewingRotationAngle = calculateAngle(earthLat, earthLng);

有谁知道如何做这个数学,或者我可以在哪里找到更多信息来自己解决这个问题?我已经找了好几天了,还没有找到我要找的东西。提前致谢。

澄清一下,我寻求的旋转角度是月球可见圆盘的二维旋转。

2014 年 3 月 17 日更新

我做了更多研究并意识到这个问题可能与天球 http://astronomy.nmsu.edu/nicole/teaching/ASTR505/lectures/lecture08/slide02.html总体而言,而不是具体的月球。从地球上可见的所有天体,包括我们的月球,都固定在天球上,这就是相对于我们在地球上的位置旋转的天体。因此,我需要弄清楚如何计算天球本身的旋转,而不是专注于以月球为中心的解决方案。我仍然没有把注意力集中在这个问题上。

2014 年 4 月 13 日更新

我找到了一篇关于新月倾斜 https://planetariumweb.madison.k12.wi.us/mooncal/crescent-tilt/Crescent这可能是解决我的问题的关键。数学显然已经存在/可以导出,因为大多数天文模拟软件可以显示任何天体的确切位置和从地球的角度。我认为困难的部分是我想要的单个部分被包裹成涵盖整体定位的更复杂的方程。我将通过阅读和重新阅读这些有用的信息来努力得出一个更简单的版本。


您需要 4 件事才能获得从地球看到的月光方向:

1- 太阳高度角。 2- 太阳方位角。 3-月球高度。 4- 月球方位角。[所有高度均无空气(无折射效应),所有角度均以度为单位。]

我使用这个 PHP 函数从这些东西中获取光的旋转:

function getAngle($sunalt, $sunaz,$moonalt, $moonaz) {
$dLon = ($sunaz - $moonaz);
$y = sin(deg2rad($dLon)) * cos(deg2rad($sunalt));
$x = cos(deg2rad($moonalt)) * sin(deg2rad($sunalt)) - sin(deg2rad($moonalt)) * cos(deg2rad($sunalt)) * cos(deg2rad($dLon));
$brng = atan2($y, $x);
$brng = rad2deg($brng);  
return $brng;
}

这是新月的方向(以顺时针角度为单位)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算月球表面旋转作为地球坐标的函数 的相关文章

  • 找到两个移动物体的更好交点

    我想极大地优化我的算法之一 我将尽力以最好的方式解释它 主题 我们当时处于二维欧几里德系统中t 0 在这个系统中有两个对象 O1 and O2 O1 and O2分别位于点PA and PC O1移动于常数和已知点方向的速度PB 当物体到达
  • C/C++ 中的最小二乘回归

    如何在 C C 中实现因子分析的最小二乘回归 the黄金标准是LAPACK http www netlib org lapack lug node27 html 你特别想要xGELS
  • 如何解码 U.P.S.来自 UPS MaxiCode 条形码的信息?

    我最近购买了一个二维条形码阅读器 扫描 U P S 时条形码 我得到了大约一半我想要的信息 其中大约一半看起来以某种方式加密了 我听说有一个 UPS DLL 示例 粗体的所有内容似乎都已加密 而非粗体文本包含有价值的合法数据 gt 0196
  • Postgis安装:类型“几何”不存在

    我正在尝试使用 Postgis 创建表 我按这个做page http postgis refractions net documentation manual 1 5 ch02 html id2619431 但是当我导入 postgis s
  • 傅里叶变换定理 matlab

    我目前正在尝试理解二维傅里叶位移定理 根据我到目前为止所了解到的情况 图像空间中的平移会导致相位差异 但不会导致频率空间中的幅度差异 我试图用一个小例子来演示这一点 但它只适用于行的移位 而不适用于列的移位 这是一个小演示 我只在这里显示幅
  • 以一定角度遍历二维数组

    通常我们按行或列遍历数组 但这里我想以角度遍历它 我会尝试解释我的意思 因此 假设角度是 45 度 那么它会搜索为 0 0 then 0 1 1 0 then 0 2 1 1 2 0 等等 抱歉 无法上传图像 因为我是新用户 不允许这样做
  • Java中如何对整数除法进行四舍五入并得到int结果? [复制]

    这个问题在这里已经有答案了 我刚刚写了一个小方法来计算手机短信的页数 我没有选择使用Math ceil 老实说 它看起来很丑陋 这是我的代码 public class Main param args the command line arg
  • 厚壁二维迷宫中的碰撞检测

    我必须使用 Windows Forms 为学校制作一个游戏 我的游戏包括用户必须穿过迷宫 我试图阻止我的用户使用碰撞检测直接穿过墙壁 但由于用于表示墙壁的矩形形状不同而陷入困境 这是游戏的图像 https i stack imgur com
  • 横向 xib 显示为纵向

    我有一个视图控制器和单独的纵向和横向笔尖文件 旋转时 我加载相应的笔尖 方法 shouldAutorotateToInterfaceOrientation and willRotateToInterfaceOrientation 接到电话
  • C# 中四舍五入到偶数

    我没有看到 Math Round 的预期结果 return Math Round 99 96535789 2 MidpointRounding ToEven returning 99 97 据我了解 MidpointRounding ToE
  • 按度数在圆上找到一个点?

    假设我们有一个 100x100 坐标系 如下所示 0 0 是它的左上角 50 50 是它的中心点 100 100 是它的右下角 等等 现在我们需要从中心向外画一条线 我们知道线的角度 但需要计算其终点的坐标 您认为最好的方法是什么 例如 如
  • 找出圆周上像素坐标的算法

    如果我知道圆心 圆半径和垂直角的像素坐标 如何找出圆圆周上一定角度的像素值 基本上 我试图在不同的时间绘制时钟的指针 1点 2点等 Let h是浮点数形式的小时 h 2 25将是 02 15 等 在 0 到 12 之间 cX cY 是中心的
  • 与两点相交的圆心

    给定 2D 平面上的两个点 以及与这两个点相交的半径为 r 的圆 计算该圆中心的公式是什么 我意识到圆圈可以放置在两个地方 当从任意角度开始扫描围绕其中一个点连接两个点的线时 我希望首先沿顺时针方向遇到其中心的圆 我想这是我的问题的下一阶段
  • 确定解决迷宫问题的最小线段数

    我有一个问题 我需要定义一个具有最少数量的顶点的多边形 该多边形与不透明的图像中的每个像素相交或包含每个像素 令 N 为图像中的像素数 我唯一的假设是图像的边界 孔 内不能包含透明像素 并且至少有两个像素是不透明的 举个例子 假设我有以下图
  • 如何从一组重叠的圆计算多边形集?

    这个问题是一些计算细节的扩展这个问题 https stackoverflow com questions 1667310 combined area of overlapping circles 假设有一组 可能重叠的 圆 并且希望计算这组
  • 寻找将集合映射到整数的双射函数

    对于任意两个序列 a b 其中 a a1 a2 an 且 b b1 b2 bn 0a b具有相同的元素 而不关心它们的顺序 例如 如果 a 1 1 2 3 b 2 1 3 1 c 3 2 1 3 则 f a f b f a f b 我知道有
  • 从三点求圆心的算法是什么?

    我在圆的圆周上有三个点 pt A A x A y pt B B x B y pt C C x C y 如何计算圆心 在Processing Java 中实现它 我找到了答案并实施了一个可行的解决方案 pt circleCenter pt A
  • 在网络上编写数学方程的最佳方法是什么?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我正在开发一个与数学相关的网页 并正在寻找一种将数学方程轻松写入网页的解决方案 目前我可以使用
  • 2d 图像点和 3d 网格之间的交点

    Given 网格 源相机 我有内在和外在参数 图像坐标 2d Output 3D 点 是从相机中心发出的光线穿过图像平面上的 2d 点与网格的交点 我试图找到网格上的 3d 点 This is the process From Multip
  • 用 tkinter 画圆更简单的方法?

    在a上画一个圆tkinter Canvas通常由create oval方法 然而 提供边界框通常是绘制圆的一种令人困惑的方式 想出一个捷径并不是特别困难 但我找不到其他人在做类似的事情 所以我将其发布 希望其他人发现它有用 这是一个称为猴子

随机推荐

  • PyLucene 索引器和检索器示例

    我是 Lucene 的新手 我想用Python 3编写PyLucene 6 5的示例代码 我改变了this http graus co blog pylucene 4 0 in 60 seconds tutorial 该版本的示例代码 但是
  • 如何在 android 中配置 java.util.logging.logger 以使用放置在 sdcard 上的日志记录属性文件?

    我一直在尝试使用 java util logging logger 将内容记录到 SD 卡上的文件中 现在 我希望记录器使用我将在 sdcard 上提供的日志记录配置 属性文件 我一直在尝试的一种方法是 我一直在尝试使用 logmanage
  • HandleBars .Net If 比较

    我使用 Handlebars NET 作为我的邮件模板 因此我在服务器端宽度 ASP NET MVC 上生成模板 我需要这样的比较 但这不起作用 我能做些什么 Product ProdType is a enum property if P
  • eli5:具有两个标签的 show_weights()

    我想eli5 http eli5 readthedocs io en latest autodocs eli5 html eli5 show prediction为了了解术语对某些类别的预测的贡献 您可以运行这个脚本 import nump
  • 为什么在 [ x"$VAR" = x"VALUE" ] 中使用“x”?

    我可以在 unix shell 脚本中看到使用了以下构造 x VAR x VALUE 代替 VAR VALUE Why 因为如果变量之一为空 shell 并不总是完全表现良好 考虑如果 VAR为空 空并且 VALUE是 foo 你的两个结构
  • PHP header(): 302 暂时移动错误 [重复]

    这个问题在这里已经有答案了 在我的 web 应用程序中 我打开了一个模式 在该模式中 我正在另一个页面 ajax php 中使用 ajax 处理一些数据 在 ajax php 中完成处理后 我执行以下操作 header location b
  • 如何在 modelica 中进行局部敏感性分析

    我想在 Dymola 中进行局部敏感性分析 以评估影响建筑物 多户住宅 能耗的不同参数 谁能给我一些建议 如何在 Dymola Modelica 软件中做到这一点 您可以将模型导出为 FMU 然后按照多种不同路径之一使用 FMU 进行敏感性
  • 如何使用 xargs 将特定文件从一个目录移动到另一个目录?

    假设我输入这个命令 find etc info name c xargs I grep l importantFile 现在我拥有了所有我感兴趣的文件 这些文件具有后缀 c 和关键字 importantFile 如何将其移动到我当前的目录之
  • 我应该使用哪个 CMS 来管理没有编程经验的小型网站? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 CMS 系统来管理一个简单的小型网站 该网站将使用纯 HTML 和一些 JavaScript 可能是原型库 制作 我之所以
  • 如何配置 nginx.ingress.kubernetes.io/rewrite-target 和 spec.rules.http.paths.path 以满足以下 URI 模式

    我该如何配置nginx ingress kubernetes io rewrite target and spec rules http paths path满足以下 URI 模式 aa bb aa coolapp aa bb aa coo
  • 执行静态对象的析构函数时崩溃

    有一个微妙的错误在我们的软件中不会以可预测的方式显现出来 当全局析构函数执行时会发生这种情况 通常这是一个 双重释放 错误 但我也看到过其他事情 NULL ptr 取消引用 对未分配任何内容的地址的 ptr 取消引用 访问未对齐 因为指针有
  • 我可以创建一个引用内存中 NSData 的 NSURL 吗?

    的文档NSURL https developer apple com library ios documentation Cocoa Reference Foundation Classes NSURL Class Reference Re
  • Android:如何知道Fragment是否已完成加载整个内容?

    无论如何都知道Fragment已完成加载全部内容Fragment 我问的原因是因为onResume当我将应用程序置于后台时的状态我重新加载Fragment通过执行AsyncTask但我只想重新加载Fragment仅当Fragment尚未完成
  • 使用 Windows 批处理从文件中删除尾随空格?

    如何使用 Windows 命令提示符删除文本文件中的所有尾随空格 Ben Hocking 引用的 DosTips RTRIM 函数可用于创建一个可以正确修剪文本文件中每一行的脚本 然而 该功能相对较慢 DosTips 用户 和版主 aGer
  • 如何使用 sed/awk 查找/替换和增加匹配的数字?

    开门见山 我想知道如何使用 grep find sed awk 来匹配某个字符串 以数字结尾 并将该数字加 1 我最接近的是将 1 连接到最后 效果很好 因为要点是简单地改变值 这是我目前正在做的事情 find type f xargs s
  • 如何比较音乐数据

    我想编写一个应用程序来重命名 排序和组织我的音乐库 mp3 wav flac 我想提取歌曲的一部分 例如前几分钟 并将其与数据库进行比较 然后检索歌曲名称和标签信息 我听说你可以使用 last fm 来做到这一点 但是查看他们的 api 信
  • .NET Core 3.1 中的默认代理

    我需要一些有关 NET Core 3 1 的帮助 以获取需要脱离公司代理的代码 通过将以下内容放入 app config 中 该代码可在 NET 4 7 2 中运行 我在这个网站上了解到这一点 谢谢 允许人们通过公司代理服务器
  • PHPUnit:期望以数组作为参数的方法调用

    我有一个 PHPUnit 测试用例 其中我对以下代码片段感到困惑 我想检查一下该方法actionUpload正确调用函数 hideAndSaveDataLines 即第一个参数是一个数组 正如我所期望的那样 public function
  • 表达式中未定义函数“Nz”

    我用谷歌搜索了这个错误 但还没有得出为什么会收到这个错误的结论 我正在尝试用一些数据填充 DataGridView 这是我的代码 Private Sub LoadGrid Dim cmd As New OleDbCommand Dim dt
  • 计算月球表面旋转作为地球坐标的函数

    我正在编写一个 Android 应用程序 可以显示任何日期的月相 目前 我正在展示北半球的一般视图 月球受阳光照射的部分从right to left0 观察旋转 然而 当从南半球观察月球时 这种运动是相反的 而在赤道附近 则完全发生了不同的