我使用Python的Matplotlib制作了以下图表。我还附上了我用来制作它的代码。
场地的代码:
import matplotlib.pyplot as plt
import matplotlib.patches as patches
obs_boundary = [
[0, 0, 10, 600],
[0, 600, 900, 10],
[10, 0, 900, 10],
[900, 10, 10, 600]
]
obs_cir_own = [
[50,500,10],
[100,300,10],
[240,240,10],
[300,400,10],
[190,50,10]
]
obs_cir_opp = [
[700, 420, 10],
[460, 200, 10],
[550, 500, 10],
[670, 70, 10],
[800, 230, 10],
[600,300,10]
]
fig, ax = plt.subplots()
for (ox, oy, w, h) in obs_boundary:
print(ox, oy, w, h)
ax.add_patch(
patches.Rectangle(
(ox, oy), w, h,
edgecolor='black',
facecolor='black',
fill=True
)
)
for (ox, oy,r) in obs_cir_own:
ax.add_patch(
patches.Circle(
(ox, oy), r,
edgecolor='black',
facecolor='green',
fill=True
)
)
for (ox, oy, r) in obs_cir_opp:
ax.add_patch(
patches.Circle(
(ox, oy), r,
edgecolor='black',
facecolor='red',
fill=True
)
)
plt.plot(50,50, "bs", linewidth=30)
plt.plot(870, 550, "ys", linewidth=30)
name='arena'
plt.title(name)
plt.axis("equal")
所以,我想使用C++实现一个类似的场地,但我不知道该如何做?我做了一些研究,得知了一些关于qtplot的东西,但我并不了解qt。那么,是qtplot是唯一的方式还是有其他更简单的方式?请告诉我如何在C++中实现这个。