2016-07-12 10 views
0

호와 원을 그리는 것과 유사한 문제를 발견하려고 시도했지만이 질문에 도움이되지 않았습니다.카이로/파이 카이 그리기 호 문제 : PI/2가 예상 한 것을 그리지 않습니다.

저는 카이로와 파이 카이와 함께 사분면이있는 원을 그려 봅니다.

내가 어떤 점에서 길을 잃어 버릴 지 확신 할 수 없지만, 내가 그리기를 기대하는 것은, 내가 전혀 그림을 그리지 않는 것입니다.

내 목표는 모든 사분면마다 채우기 색이 다른 다른 사분면으로 원을 그리는 것입니다.

서페이스와 컨텍스트를 구축하고 전체 원 (2 * PI), 반원 (PI)을 그릴 수 있으며 사분면 (PI/2 -> 90도) 만 그릴 때 결과 내가 이해하지 못하는 것입니다.

첫 번째 예, 완전한 원 (360의 degress 일명 2 * PI 라디안)

ctx.rectangle(0, 0,1200,1200) # Rectangle(x0,y0,w,h) 
ctx.set_source_rgb(1,1,1) 
ctx.fill() 
ctx.arc(600,600,500,0,2*math.pi) 
ctx.set_source_rgb(1,0,0) 
ctx.fill() 
ctx.stroke() 

결과가 정확한지, 완전한 원 :

full circle as supposed to be with 2 * PI radians (360 degrees)

번째 예, 반원 (180도, PI 라디안) :

,210

결과가 정확한지, 반원 :

셋째 예를 들어, 분기/사분면 (나는 아직 충분히 명성을 가지고 있지 않기 때문에 나는 이미지를 제거한) (90 개도, PI/2) :

ctx.rectangle(0, 0,1200,1200) # Rectangle(x0,y0,w,h) 
ctx.set_source_rgb(1,1,1) 
ctx.fill() 
ctx.arc(600,600,500,0,math.pi/2) 
ctx.set_source_rgb(1,0,0) 
ctx.fill() 
ctx.stroke() 

나는 이해하지 못한다. 여기서 무슨 일이 일어나고있는거야?

The supposed to be quadrant, PI/2 90 degrees

, 사람이 좀 도와 주 시겠어요? 나는 길을 잃었다.

답변

1

나는 혼자 해결책을 찾았지만 왜 모든 동작이 정확히 같은지는 알 수 없습니다.

당신이 move_to를 발행하는 경우 :

ctx.move_to(600,600) 

는 이제 완벽하게 렌더링합니다. 어쨌든 덕분입니다.

+0

위대한 팁, 감사합니다. 그런데 대답을 받아 들여야합니다. –

+0

Thx! 나는 잊었다 :) –