Bezier Curve psuedocode 구현시이 오류가 발생합니다. Qt의 C++에서 메소드 구현을 아래에 있습니다.BezPoints [i] [(j + 1)] '
void GLWidget::drawBezierCurve() {
int N_PTS = vertices.size();
Point bezPoints[N_PTS][N_PTS];
for (float u = 0.0; u <= 1.0; u += 0.01){
for(int diag = N_PTS/2; diag >= 0;diag--){
for(int i = 0; i <= diag; i++){
int j = diag - i;
bezPoints[i][j] = (1.0 - u) * bezPoints[i][j+1] + u * bezPoints[i+1][j];
}
}
theImage.setPixel(bezPoints[0][0], bezPoints[0][0], RGBValue(100,12,140), 255);
}
}
포인트 클래스를 사용합니까? 분명히 연산자를 정의하지 않습니다 * (float) –
Qt를 사용하고 있으므로 ['QPoint'] (http://qt-project.org/doc/qt-4.8/qpoint)를 사용할 수 있습니다. HTML)을 원한다면. – deepmax
'Point '가 무엇인지 모르기 때문에 추측 할 수 있습니다. 어쩌면 그것은 basic_point의 typedef이고, 함수 템플리트'template basic_point operator (T scale, basic_point vec)'이 있습니다. -'(1.0-u)'를'(1.0 fu)'를 사용하여 템플릿 인수 차감 작업을합니다. 하지만 아마도'Point '를 취하는'operator *'는 없을 것입니다. –
sellibitze