欢迎光临
我们一直在努力

程序员从具有和角度的坐标绘制线 – python

程序员面试经验

我基本上想从给定角度的坐标(x,y)绘制一条线(计算切线值)。

用这样的简单代码行pl.plot([x1, x2], [y1, y2], 'k-', lw=1)可以在两点之间绘制一条线,但是为此我需要计算(x2,y2)坐标。我的(x1,y1)坐标是固定的,并且角度已知。计算(x2,y2)在某些时候会引起问题,所以我只想绘制从(x1,y1)角度(最好是长度)的直线。

我想到的最简单的解决方案是使用点坡函数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是坐标。我需要自我解释,因为这是一个很糟糕的问题。

所以,现在,关于我该如何解决的任何想法?

python大神给出的解决方案

我不确定自己从解释中究竟想要什么,但是我认为这将完成您所要求的工作。

如果知道要使用的线的角度和长度,则应使用三角函数获取新点。

import numpy as np import math import matplotlib.pyplot as plt   def plot_point(point, angle, length):      '''      point - Tuple (x, y)      angle - Angle you want your end point at in degrees.      length - Length of the line you want to plot.       Will plot the line on a 10 x 10 plot.      '''       # unpack the first point      x, y = point       # find the end point      endy = length * math.sin(math.radians(angle))      endx = length * math.cos(math.radians(angle))       # plot the points      fig = plt.figure()      ax = plt.subplot(111)      ax.set_ylim([0, 10])   # set the bounds to be 10, 10      ax.set_xlim([0, 10])      ax.plot([x, endx], [y, endy])       fig.show() 

赞(0)
未经允许不得转载: 京大飞辅助网程序员面试-区块链javago面经 » 程序员从具有和角度的坐标绘制线 – python

相关推荐

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址