2011-03-29 1 views
2

안녕 저는 http://matplotlib.sourceforge.net/users/path_tutorial.html부터 시작합니다. 고정 된 샘플링 속도로 모든 베 지어 포인트를 얻는 함수를 찾고 있습니다. t는 0과 1 사이의 곡선 매개 변수입니다베지 및 매트 플롯

interpolate(t, samplingrate) 

이 속도를 샘플링하여 반환 포인트의 목록의 길이입니다 : 내가 무엇을 찾고

이 같은 것입니다. 매뉴얼 페이지 http://matplotlib.sourceforge.net/api/path_api.html?highlight=bezier에서 일부 디렉토리() 나는

일부 도움말 아무것도 유용을 찾을 수없는 호출에

?

답변

3

Path 객체는 필요한 최소 매개 변수 만 베 지어 곡선을 따라 점을 저장하지 않습니다. 자신 만의 함수를 작성하는 것은 어렵지 않아야합니다. 어때요? wikipedia의 표현 다음과 같은 것입니다.

def quadBrezPoints(P0, P2, P1, nSamples): 
    ans = numpy.zeros((nSamples,2)) 
    for i in xrange(nSamples): 
     t = (i+0.0)/nSamples 
     ans[i,0] = (1-t)**2 * P0[0] + 2*(1-t)*P1[0] + t**2 * P2[0] 
     ans[i,1] = (1-t)**2 * P0[1] + 2*(1-t)*P1[1] + t**2 * P2[1] 
return ans 

n 차수 베 지어 곡선을 원할 경우 함수를 수정하면됩니다.