用python写一段船舶运动轨迹并绘图的代码
时间: 2024-02-18 11:33:27 浏览: 248
好的,以下是一段用 Python 编写并可绘制船舶运动轨迹的示例代码:
```python
import math
import matplotlib.pyplot as plt
# 船舶初始位置和速度
x0, y0 = 0, 0
v0, theta = 10, math.pi / 3 # 初速度 10m/s,初始方位角为 60 度
# 时间步长和总时间
dt = 0.01
t_end = 20
# 初始化轨迹坐标列表
x_list, y_list = [x0], [y0]
# 计算每个时间步长内的位置和速度
for t in range(int(t_end / dt)):
v_x = v0 * math.cos(theta)
v_y = v0 * math.sin(theta)
x = x_list[-1] + v_x * dt
y = y_list[-1] + v_y * dt
x_list.append(x)
y_list.append(y)
v0 *= 0.995 # 假设摩擦系数为 0.005,每秒速度降低 0.005 倍
# 绘制轨迹图像
plt.plot(x_list, y_list)
plt.xlabel('X axis(m)')
plt.ylabel('Y axis(m)')
plt.title('Ship trajectory')
plt.show()
```
以上代码根据给定的初始位置和速度模拟出了 20 秒内船舶的运动轨迹,并绘制图像展示。其中需要注意的一点是,这里的速度是随着时间逐渐降低的,假设摩擦系数为 0.005,每秒速度降低 0.005 倍。如需其他运动模型可以灵活调整。
阅读全文