我基本上想从坐标(x,y)以给定的Angular 绘制一条线(计算正切值)。
使用pl.plot([x1, x2], [y1, y2], 'k-', lw=1)
这样简单的代码行,我可以在两点之间绘制一条直线,但为此我需要计算(x2,y2)坐标。我的(x1,y1)坐标是固定的,Angular 是已知的。计算(x2,y2)在某些点会出现问题,所以我只想从(x1,y1)绘制一条带有Angular (最好是长度)的直线。
我想到的最简单的解决方案是使用点斜率函数y - y1 = m(x - X1)
.解释这个问题并进行一些搜索,我使用了这段代码:
x1 = 10
y1 = -50
angle = 30
sl = tan(radians(angle))
x = np.array(range(-10,10))
y = sl*(x-x1) + y1
pl.plot(x,y)
pl.show
sl是这里的斜率,x1和y1是坐标。我需要解释一下,因为这是一个很差的问题。
那么,现在,有什么想法我可以做/解决这个问题?
4条答案
按热度按时间s1ag04yj1#
更新版本2023
我不是很确定你到底想从解释中得到什么,但我认为这将接近你所要求的。
如果知道要使用的直线的Angular 和长度,则应使用三角函数来获得新点。
yqyhoc1h2#
受this website的启发,给定WGS84坐标、方位角(有时称为前向方位角)和距离,可以使用以下逻辑计算结果目标点:
这将产生
hmmo2u0o3#
复数的标准模块 cmath 使计算变得简单。
给定直线的长度(或半径)r和以弧度表示的Angular ,我们可以得到从原点(0,0)开始的直线的终点x和y坐标(x,y)。
rect(r,phi)是你要调用的函数。它返回一个复数!只需将它的真实的部和虚部作为你需要的x和y值。
a2mppw5e4#
您需要的是全新的,名为**axline**。