Я постараюсь объяснить словами.plot_surface(X, Y, Z)
создает трехмерную фигуру.Теперь предположим, что у нас есть двумерная (xy) сетка 10x10 = 100 точек, где x переходит от 1 до 10, а y - от 1 до 10. Теперь в целом существует 100 пар (x, y) как (1,1), (1,2), (1,3) ... (1,10), (2,1), (2,2) .... (2,10) .... (10,1), (10,2) ... (10,10).
Теперь для каждой из этой пары (x, y) вы определяете соответствующее значение z.Это означает, что всего для 100 (x, y) пар у вас есть 100 значений z.Если вы просто используете X=[1,2,3,4,5,6,7,8,9,10]
и Y=[1,2,3,4,5,6,7,8,9,10]
, то вы в основном хотите дать координаты X для всех этих 100 точек.Поскольку каждое значение Y совместно использует одни и те же X-координаты, эти 10 X-значений будут повторяться 10 раз (поскольку у вас есть 10 Y-значений).Следовательно, вы создаете сетку-сетку из 100 значений X.То же самое относится и к Y, поэтому у вас есть сетка из 100 значений Y.Имея эти 100 пар (x, y), сгенерированных из сетки, и имея 100 Z-значений, вы просто используете plot_surface(X, Y, Z)
.