首页 > 解决方案 > 将 sympy 点对象转换为坐标元组

问题描述

我正在做一个项目,在这个项目中我使用 sympy 来(除其他外)找到 2D 图像中两点之间的中点。由于 midpoint 给了我一个 sympy point 对象,我怎样才能将它转换为一个简单的坐标元组?

编辑:这就是我所拥有的:

vertex = Segment(hipL, hipR).midpoint
vertex = tuple(vertex)

这是我得到的错误: TypeError: 'method' object is not iterable

编辑2:改为:

vertex = Point(hipL).midpoint(hipR)
vertex = tuple(vertex)

似乎正在工作。

标签: pythonsympy

解决方案


使用tuple

from sympy import Point, Segment
a = Point(2, 3)
b = Point(3, 7)
print(tuple(a.midpoint(b)))
print(tuple(Segment(a, b).midpoint))

(5/2, 5)在 SymPy 1.3 中两次打印元组。如果它不适合您,请更新 SymPy。


推荐阅读