draw2d(同样draw3d)绘制了一个由其参数描述的整个“场景”。论点中的一切都是一个“场景”。因此,要创建一个包含不同内容的场景,您需要创建一个包含所有您想要的内容的列表,然后将draw2d 应用于它,即告诉Maxima 使用该参数列表调用draw2d。
这里有一个例子来说明这一点。我将首先创建所有向量的列表。 vector 图形对象有一些选项,例如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 的向量数重做示例,并且您可以根据需要更改选项。您还可以创建其他图形对象并将它们附加到参数列表中,然后将draw2d 应用于所有参数。