2

我想使用 sympy python 来做一个有 n 个面的多边形并计算所有参数。

简单的形式是

from sympy import Polygon
p1, p2, p3, p4, p5 = [(0, 0), (1, 0), (5, 1), (0, 1), (3, 0)]
Polygon(p1, p2, p3, p4, p5)

Polygon(Point(0, 0), Point(1, 0), Point(5, 1), Point(0, 1))

但我想使用列表中的 n 个点,例如

p=[(0, 0), (1, 0), (5, 1), (0, 1), (3, 0)]
Polygon(p)

但是这种形式和类似的形式没有得到验证。

有什么建议么?

4

1 回答 1

4

您可以通过在参数列表前面放一个星号来扩展它来做到这一点,如下所示:

p=[(0, 0), (1, 0), (5, 1), (0, 1), (3, 0)]
Polygon(*p)

这将相当于调用Polygon((0, 0), (1, 0), (5, 1), (0, 1), (3, 0)).

于 2013-04-12T14:54:24.517 回答