Python 计算负坐标系中两点之间直线的方位角
我有一个似乎无法解决的问题。我也找不到一个解决方案已经给出了任何以前的职位 我在公制坐标系中工作,其中所有变量都是负值(例如:Python 计算负坐标系中两点之间直线的方位角,python,orientation,Python,Orientation,我有一个似乎无法解决的问题。我也找不到一个解决方案已经给出了任何以前的职位 我在公制坐标系中工作,其中所有变量都是负值(例如:origin=-2,-2;north=-2,-1;east=-1,-2;south=-2,-3,west=-3,-2)。这是南半球的坐标系。我需要计算通过两点的直线的方位和坡度,假设第一点是原点 我已经能够使用Python编写一个脚本来计算每对点的方向(0-360度),但根据我正在比较结果的一个参考数据集(已经计算了这些值),许多值是180度相反的 如果我使用ATAN2,
origin=-2,-2;north=-2,-1;east=-1,-2;south=-2,-3,west=-3,-2
)。这是南半球的坐标系。我需要计算通过两点的直线的方位和坡度,假设第一点是原点
我已经能够使用Python编写一个脚本来计算每对点的方向(0-360度),但根据我正在比较结果的一个参考数据集(已经计算了这些值),许多值是180度相反的
如果我使用ATAN2,然后将弧度转换为度,那么直线通过2D图形上的哪个象限是否重要?我是否需要根据象限添加或减去0、90180270或360?我想这是我的问题,但我不确定
最后,上面假设我分别计算二维空间中的方向和坡度。在3D空间中计算这些变量是否有更省钱的方法
我已经附上了我当前的代码块,其中包括计算每个象限的方位角。我非常感谢你们能提供的任何帮助
dn = north_2 - north_1
de = east_2 - east_1
x = x + 1
if dn<0 and de<=0:
q = "q3"
theta = math.degrees(math.atan2(dn,de))
orientation = 90- theta
if dn>=0 and de <0:
q = "q4"
theta = math.degrees(math.atan2(dn,de))
orientation = 270-theta
if dn>0 and de>=0:
q = "q1"
theta = math.degrees(math.atan2(dn,de))
orientation = 270-theta
if dn<=0 and de>0:
q = "q2"
theta = math.degrees(math.atan2(dn,de))
orientation = 90-theta
dn=north\u 2-north\u 1
de=东2-东1
x=x+1
如果dn=0:
q=“q1”
θ=数学度数(数学atan2(dn,de))
方向=270θ
如果dn0:
q=“q2”
θ=数学度数(数学atan2(dn,de))
方向=90θ
不清楚您的问题到底是什么,但您可能会发现这一点,并且很有用。您所说的“公制坐标系”是什么意思?你是说笛卡尔?或者你在用度量张量做一些奇怪的事情?谢谢你的评论。我所说的米制坐标系是指依赖于米制值(如UTM)的坐标系,而不是依赖于地球中心/地球固定的角度坐标系(如纬度和经度)。经过一番大惊小怪,我终于明白了这个问题。我必须以弧度旋转输出,然后将其转换为度