天文学中的坐标系(astropy)

2023-10-30 01:50
文章标签 天文学 坐标系 astropy

本文主要是介绍天文学中的坐标系(astropy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

观测到的天文物体的视向速度受到几种投影效应的影响,例如地球的自转和轨道运动、太阳围绕银河系中心的运动、银河系在本星系群内的运动等。为了能够解释观测到的径向速度,必须把它转换成适当的静止坐标系。

对于太阳附近的物体来说,一个有用的静止框架是所谓的质心静止标准(BSR)框架,它使用太阳系的质心作为参考点。BSR框架通常被称为日心静止标准(HSR)框架。然而,后者(HSR)使用太阳的质心作为参考点,而不是太阳系的质心。然而,在大多数情况下,质心速度和日心速度之间的差异相当小,可以忽略不计。

对于位于银河系中距离太阳较远的天体,人们通常使用局部静止标准( local standard-of-rest :LSR)框架作为视向速度的参考。LSR框架下了太阳相对于银河系的旋转速度大约16.55km/s。LSR框架中的径向速度可以由质心速度通过LSR框架中的径向速度可由质心速度计算.

介绍如何使用astropy中计算日心直角坐标系和银心直角坐标系下的3D位置以及速度

日心直角坐标系

左手坐标系,GC为银心,NGC为北银极,Gcrotation:银河系转动方向。

X = D\cos l\cos b

Y = D\sin l\cos b

Z = D\sin b

注意:注意将l,b单位为deg。D为距离

使用astropy进行换算:

from astropy.coordinates import SkyCoord
from astropy import units as ura= 120.*u.deg
dec= 30.*u.deg
distance= 1.2*u.kpc
c= apycoords.SkyCoord(ra=ra,dec=dec,distance=distance,frame='icrs')
print("(X,Y,Z) in (kpc,kpc,kpc)")
print("\t",c.galactic.cartesian)
# 速度
print(c.velocity)

 

银心直角坐标系

右手坐标系。

from astropy import units as u
from astropy.coordinates import SkyCoord,Galactocentricra,dec= 302.70213542915, 33.31981934943
pmra,pmdec=-5.061,-0.377
dist=321
rv= -17
age=46
pos= SkyCoord(ra=ra*u.deg,dec= dec*u.deg,distance=dist*u.pc,pm_ra_cosdec=pmra*u.mas/u.yr,pm_dec=pmdec*u.mas/u.yr,radial_velocity=rv*u.km/u.s,frame='icrs')#将所有点换到银心为中心的直角坐标系
pos1 = pos.transform_to(Galactocentric) 
print('position:',pos1)
print('Velocuuty:',pos1.velocity)

 

参考:沈老师wiki相关介绍

Jo Bovy:Dynamics and Astrophysics of Galaxies 

astropy

这篇关于天文学中的坐标系(astropy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/304827

相关文章

005:VTK世界坐标系中的相机和物体

VTK医学图像处理---世界坐标系中的相机和物体 左侧是成像结果                                                    右侧是世界坐标系中的相机与被观察物体 目录 VTK医学图像处理---世界坐标系中的相机和物体 简介 1 在三维空间中添加坐标系 2 世界坐标系中的相机 3 世界坐标系中vtkImageData的参数 总结:

点云数据常见的坐标系有哪些,如何进行转换?

文章目录 一、点云坐标系分类1. 世界坐标系2. 相机坐标系3. 极坐标系4. 笛卡尔坐标系(直角坐标系):5. 传感器坐标系6. 地理坐标系 二、坐标系转换方法1. 地理坐标系与投影坐标系之间的转换2. 投影坐标系与局部坐标系之间的转换3. 局部坐标系与3D模型坐标系之间的转换4. 相机坐标系与其他坐标系之间的转换5. 传感器坐标系与其他坐标系之间的转换 三、坐标系转换工具 一

火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法

关于 GCJ-02 和 BD-09 ,请参考 http://developer.baidu.com/map/question.htm#qa0043 。 算法代码如下,其中 bd_encrypt 将 GCJ-02 坐标转换成 BD-09 坐标, bd_decrypt 反之。 [cpp] view plain copy print ? #include <math.h>    con

cocos2d-x基础知识(四) 简单菜单及坐标系

关于cocos2d坐标系的一点点心得   cocos2d-x 中关于convertToNodeSpace 的用法: cocos2d-x 中关于convertToNodeSpace 的用法: A->converToNodeSpace(CCPoint point )的意思是将point 转换成A的坐标系中的位置点。 我在做连连游戏中由于精灵在自定义的CC

cocos2d-x基础知识 坐标系 -- 很好的文章

无论是搞2d还是3d开发,最需要搞清楚的就是坐标系,这部分混乱的话就没啥奔头了。所以玩cocos2d,一上来就先把各种与坐标有关的东西搞清楚。   基本的两个坐标系:屏幕坐标系和GL坐标系。 屏幕坐标系x轴朝右,y轴朝下。默认原点在左上角。 GL坐标系x轴朝右,y轴朝上。默认原点在左下角。          在调用任何需要设置位置的函数,或从函数获取位置信息前,

A\B求解将 B转换到 A 的坐标系中的变换

%% 将罐子附加到末端执行器removeBody(robot,'leftWidgetFrame');removeBody(robot,'rightWidgetFrame');% 获取机器人手部的当前姿态graspConfig = qInterpFROMinitialGOTOgrasp(end,:);leftGripperFramePose = getTransform(robot,gra

机器视觉1-1:齐次坐标系 Homogeneous Coordinates

参考Homogeneous Coordinates ,Michigan Technological University 的 Dr. C.-K. Shene写的Introduction to Computing with Geometry Tutorial之中的一部分,摘录+翻译。 引入齐次坐标系的原因之一是为了描述infinity(无穷远点)。 One of the many purpos

自动驾驶---什么是Frenet坐标系?

1 背景         为什么提出Frenet坐标系?Frenet坐标系的提出主要是为了解决自动驾驶系统在路径规划的问题,它基于以下几个原因: 符合人类的驾驶习惯: 人类驾驶员在驾驶过程中,通常不会关心自己距离起点的横向和纵向距离,而是会关注车辆相对于道路的相对位置,比如与车道线的距离。Frenet坐标系提供了一种与人类驾驶习惯相符的描述方式,使得自动驾驶系统能够更好地模拟人类的驾驶行为。

convertToWorldSpace转换为世界坐标系用法

先假想一个场景,场景里有一个主角,主角身上有一个物品。假如物品是以主角为父节点的. 现在问题来了,物品现在的坐标系,现在我想判断用户是否点击在该物品上, 那么我怎么得出物品在相对与屏幕的坐标呢? cocos2dx提供了一个方法: sprite->getParent()->convertToWorldSpace(sprite->getPosition()),其中sprite为物品精灵的指针,get

Unity坐标系计算3D中两直线的最短距离及最近点的几何原理

方法1: 已知空间中两直线AB, CD,判断它们是否相交      问题的关键是求出这两条直线之间的最短距离,以及在这个距离上最接近两线的点坐标,判断该点是否在直线AB和直线CD上。      首先将直线方程化为对称式,分别得到两直线方向向量AB=(x1,y1,z1), CD=(x2,y2,z2),再将两向量AB, CD叉乘得到其公垂向量N=(x,y,z),在AB, CD两直线上分别选取点E