Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Bezier::draw(int levelOfDetail) {
- connectTheDots();
- int i,j,k;
- Pvector::iterator p;
- int controlPoints = points.size();
- Pvector finalPVector;
- if (points.size() > 1){
- for (i = 0; i <= levelOfDetail-1; i++){
- float u = (float) i/levelOfDetail;
- vector<Pvector> pointvector(controlPoints);
- Pvector controlPVector;
- for (p = points.begin(); p != points.end(); p++){
- controlPVector.push_back(*p);
- }
- pointvector[controlPoints-1] = controlPVector;
- for (j = controlPoints-2; j >= 0; j--){
- Pvector tempPVector;
- for (k = 0; k <= j; k++){
- tempPVector.push_back(Point((1-u)*pointvector[j+1][k].x + u*pointvector[j+1][k+1].x, (1-u)*pointvector[j+1][k].y + u*pointvector[j+1][k+1].y));
- }
- pointvector[j] = tempPVector;
- }
- finalPVector.push_back(pointvector[0][0]);
- }
- int finalSize = finalPVector.size();
- int g;
- for (g = 0; g < finalSize-1; g++){
- drawLine(finalPVector[g].x, finalPVector[g].y, finalPVector[g+1].x, finalPVector[g+1].y);
- printf("finalPVector x1 is %f, finalPVector y1 is %f, iteration is %i\n", finalPVector[g].x, finalPVector[g].y, g);
- printf("finalPVector x2 is %f, finalPVector y2 is %f, iteration is %i\n", finalPVector[g].x, finalPVector[g].y, g);
- }
- }
- /* YOUR CODE HERE */
- }
Add Comment
Please, Sign In to add comment