Как сделать анимацию последовательных массивов с помощью matplotlib? - PullRequest
0 голосов
/ 26 июня 2019

Я новичок в питоне.Моя проблема - это взаимодействие двух машин, которые должны пересечь простое пересечение.Я уже получил нужный мне ответ на языке FIACRE.На этом языке я реализовал сетку 6 x 6 следующим образом:

a= [[1,1,1,1,1,1], 
    [1,1,0,2,1,1],
    [1,3,0,0,0,1],
    [1,0,0,0,0,1],
    [1,1,0,0,1,1],
    [1,1,1,1,1,1]]

Где 1 - это тротуары, 0 - это улицы, а 2 и 3 - машины.Я получил список результатов как этот: m1, m2, m3, m4, m5 и m6.Каждый из них представляет своего рода движение.

#(m,n) and (y,x) are the coordinates for each car
# this is how I implemented in FIACRE, not in python
m1: if  a[y][x]=2 and a[y][x-1]=0; then a[y][x-1]:=2; a[y][x]:=0; x:=x-1;
m2: if  a[y][x]=2 and a[y+1][x]=0; then a[y+1][x]:=2; a[y][x]:=0; y:=y+1;
m3: if  a[y][x]=2 and a[y][x+1]=0; then a[y][x+1]:=2; a[y][x]:=0; x:=x+1; 
m4: if  a[m][n]=3 and a[m][n+1]=0; then a[m][n+1]:=3; a[m][n]:=0; n:=n+1;
m5: if  a[m][n]=3 and a[m-1][n]=0; then a[m-1][n]:=3; a[m][n]:=0; m:=m-1;
m6: if  a[m][n]=3 and a[m+1][n]=0; then a[m+1][n]:=3; a[m][n]:=0; m:=m+1;

Я начал реализовывать код Python:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# here I import the .txt file with the m steps obtained in FIACRE
steps = pd.read_table("C:\\Users\\...\\ file.txt")

nrows, ncols = 6,6 #number of rows and columns

# Make a 6x6 grid...
image = np.array([[1,1,1,1,1,1],
                  [1,1,0,3,1,1],
                  [1,2,0,0,0,1],
                  [1,0,0,0,0,1],
                  [1,1,0,0,1,1],
                  [1,1,1,1,1,1]])

plt.matshow(image)
plt.show()

Я ожидал, что это код, который реализует шаги, которые мне нужноизменить массив (изображение).Затем анимируйте массивы, полученные на каждом шаге, чтобы смоделировать движение автомобиля, и сохраните в формате GIF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...