python 给定一点和方向写出直线
时间: 2023-10-12 21:17:08 浏览: 141
要画一条直线,需要知道它经过的点和方向向量。假设给定的点为 $P=(x_0, y_0)$,方向向量为 $\vec{v}=(v_x, v_y)$,则直线的一般式方程为:
$$(y - y_0) = \frac{v_y}{v_x}(x - x_0)$$
化简后得到:
$$y = \frac{v_y}{v_x}(x - x_0) + y_0$$
因此,Python代码可以如下编写:
```python
def draw_line(x0, y0, vx, vy):
import matplotlib.pyplot as plt
import numpy as np
# 生成一组 x 坐标值
x = np.linspace(-10, 10, 100)
# 根据一般式方程计算 y 坐标值
y = (vy / vx) * (x - x0) + y0
# 绘制直线
plt.plot(x, y)
# 显示图形
plt.show()
# 示例:画过点 (1, 2) 且方向向量为 (3, 4) 的直线
draw_line(1, 2, 3, 4)
```
运行结果如下图所示:
![直线示例](https://img-blog.csdn.net/20180508185242940?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzaGVuZ3V5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/70)
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)