繁体   English   中英

Sympy:点旋转后,点评估= False

[英]Sympy: Point evaluate=False after a point rotate

我是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))

尝试在打印之前或期间评估坐标:

>>> 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM