2016-06-05 10 views
0

그래서 최근에 그래픽 프로그래밍을 선택했고 입체 베 지어 곡선을 계산하려고했습니다. 이차 베 지어에서 this excellent answer을 발견했습니다. 그러나이를 입체 베 지어 곡선으로 변환하는 방법을 모르겠습니다.2 차 베 지어 곡선 코드를 3 차 베 지어 곡선으로 변환하는 방법은 무엇입니까?

+0

그것은 대답을 보인다는 당신이 날의 내 일을 끝낼 것 몇 가지 코드를 이해하는 데 도움 수 있다면 그래서, 수학 멍청한 놈이야 –

+0

언급 링크의 끝에 놓여 있습니다 고생하다 –

+0

나는 곧 대답을 게시 할 것이다 –

답변

8

입방체 베 지어 곡선의 경우 공유 된 링크에서 볼 수 있듯이 초록색 선은 2 차 곡선과 동일한 절차에서 가져옵니다. 차이점은 두 개의 녹색 선이 있고 그 다음에 기초하여 파란색 선을 계산해야한다는 것입니다. 그래서 같은 for 루프 변경 :

for(float i = 0 ; i < 1 ; i += 0.01) 
{ 
    // The Green Lines 
    xa = getPt(x1 , x2 , i); 
    ya = getPt(y1 , y2 , i); 
    xb = getPt(x2 , x3 , i); 
    yb = getPt(y2 , y3 , i); 
    xc = getPt(x3 , x4 , i); 
    yc = getPt(y3 , y4 , i); 

    // The Blue Line 
    xm = getPt(xa , xb , i); 
    ym = getPt(ya , yb , i); 
    xn = getPt(xb , xc , i); 
    yn = getPt(yb , yc , i); 

    // The Black Dot 
    x = getPt(xm , xn , i); 
    y = getPt(ym , yn , i); 

    drawPixel(x , y , COLOR_RED); 
} 
+0

신이 내가 오랫동안 읽었던 가장 저주 한 대답이다. 저는 수개월 동안 고생했습니다 (저는 인도의 농촌 도시에서 15 세가되었습니다.) 고맙습니다! –

+0

당신은 환영합니다 :) –