draw2d
(аналогично draw3d
) dr aws целая «сцена», которая описывается своими аргументами. Все в аргументах - одна «сцена». Итак, чтобы создать сцену с разными элементами в ней, вы хотите составить список, в котором есть все, что вы хотите, а затем применить к нему draw2d
, то есть сказать Maxima, чтобы вызвать draw2d
с этим списком аргументов.
Вот пример, чтобы проиллюстрировать это. Сначала я создам список всех векторов. Объект vector
graphi c принимает некоторые параметры, такие как head_type
и так далее. Я составлю список с параметрами, которые мне нужны, а затем добавлю параметры и список векторов, чтобы получить все нужные мне аргументы. Наконец, я назову draw2d
для отображения сцены.
(%i2) load (draw) $
(%i3) myvectors: makelist (makelist (vector([i, j], [i, -j]), j, 1, 5), i, 1, 5);
(%o3) [[vector([1, 1], [1, - 1]), vector([1, 2], [1, - 2]),
vector([1, 3], [1, - 3]), vector([1, 4], [1, - 4]),
vector([1, 5], [1, - 5])], [vector([2, 1], [2, - 1]),
vector([2, 2], [2, - 2]), vector([2, 3], [2, - 3]),
vector([2, 4], [2, - 4]), vector([2, 5], [2, - 5])],
[vector([3, 1], [3, - 1]), vector([3, 2], [3, - 2]),
vector([3, 3], [3, - 3]), vector([3, 4], [3, - 4]),
vector([3, 5], [3, - 5])], [vector([4, 1], [4, - 1]),
vector([4, 2], [4, - 2]), vector([4, 3], [4, - 3]),
vector([4, 4], [4, - 4]), vector([4, 5], [4, - 5])],
[vector([5, 1], [5, - 1]), vector([5, 2], [5, - 2]),
vector([5, 3], [5, - 3]), vector([5, 4], [5, - 4]),
vector([5, 5], [5, - 5])]]
(%i4) vector_options: [head_length = 0.2, head_angle = 15, head_type = empty];
(%o4) [head_length = 0.2, head_angle = 15, head_type = empty]
(%i5) append (vector_options, myvectors);
(%o5) [head_length = 0.2, head_angle = 15, head_type = empty,
[vector([1, 1], [1, - 1]), vector([1, 2], [1, - 2]),
vector([1, 3], [1, - 3]), vector([1, 4], [1, - 4]),
vector([1, 5], [1, - 5])], [vector([2, 1], [2, - 1]),
vector([2, 2], [2, - 2]), vector([2, 3], [2, - 3]),
vector([2, 4], [2, - 4]), vector([2, 5], [2, - 5])],
[vector([3, 1], [3, - 1]), vector([3, 2], [3, - 2]),
vector([3, 3], [3, - 3]), vector([3, 4], [3, - 4]),
vector([3, 5], [3, - 5])], [vector([4, 1], [4, - 1]),
vector([4, 2], [4, - 2]), vector([4, 3], [4, - 3]),
vector([4, 4], [4, - 4]), vector([4, 5], [4, - 5])],
[vector([5, 1], [5, - 1]), vector([5, 2], [5, - 2]),
vector([5, 3], [5, - 3]), vector([5, 4], [5, - 4]),
vector([5, 5], [5, - 5])]]
(%i6) apply (draw2d, %);
Конечно, вы можете повторить пример с количеством векторов, равным 21 ^ 2 вместо 5 ^ 2, и вы можете изменить варианты, как вы хотите. Вы также можете создать другие объекты graphi c и добавить их в список аргументов, а затем применить draw2d
ко всем аргументам.