Sympy:Point evaluate=False在点之后

2024-04-18 19:26:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我正在尝试使用python生成g代码。我使用sympy是因为我还需要做线段,交点,甚至凸壳。你知道吗

给定一个初始点,我需要将其从中心(0,0)旋转+/-120度,我的最终结果应该是这样的:

“G0 X0 Y120.4”

我将evaluate=False转换为实际点,但我的方法仅适用于初始点,而不适用于其他点:

G0 X0 Y120.400000000000元

G0 X-301*sqrt(3)/5 Y-301/5

我怎样把其他点做成初始Z点的形式?你知道吗

from sympy import Point, pi
z = Point(0, 120.4, evaluate = False)
x = z.rotate(pi*2/3)
y = z.rotate(-pi*2/3)

print('G0 X{0} Y{1}'.format(z.x,z.y))
print('G0 X{0} Y{1}'.format(x.x,x.y))

Tags: 代码falseformatpi中心pointprintevaluate
1条回答
网友
1楼 · 发布于 2024-04-18 19:26:17

在打印之前或打印过程中尝试计算坐标:

>>> Point(0, 120.4) # with evaluate=True, the Float is made Rational
Point(0, 602/5)
>>> _.n()  # evaluate the coordinates
Point(0, 120.400000000000)
>>> print('G0 X{0} Y{1}'.format(x.x.n(),x.y.n()))  # from your example
G0 X-104.269458615646 Y-60.2000000000000

相关问题 更多 >