2014-06-05 2 views
0

저는 파이썬에 처음이어서 파이썬을 사용하여 g- 코드를 생성하려고합니다. 나는 세그먼트, 교차, 심지어 convex hull을해야하기 때문에 sympy를 사용하고있다.Sympy : 포인트가 회전 한 후 포인트가 평가 됨 = False

중심 (0,0)에서 +/- 120 개도를 초기 점을 (들) 나는 그것을 회전 (을)가 필요합니다 감안할 때, 나의 최종 결과는 다음과 같이해야한다 :

"G0의 X0 Y120.4 "나는 실제 포인트를 얻을 수 = 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)) 
+0

'할 = FALSE '을 어떻게 평가합니까? – asmeurer

+0

답변 1은 충분히 명확해야합니다. 또한 evalf() [link] (http://docs.sympy.org/latest/_modules/sympy/geometry/point.html#Point.evalf) – MRGiacalone2005

답변

1

전 또는 인쇄 중에 좌표를 평가 해보십시오 :

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