Bezier Curve Algorithm (C++)

Problem Definition: Write a program to analyse and interpret the implementation of Bezier Curves. #include<iostream.h> #include<conio.h> #include<dos.h> #include<graphics.h> void main(){ int gd=DETECT,gm; initgraph(&gd,&gm,”C:\\TC\\BGI”); int x[4],y[4],px,py,i; cout<<“Enter four control points of bezier curve: “; for(i=0;i<4;i++) cin>>x[i]>>y[i]; double t; for(t=0.0;t<=1.0;t+=0.001){ px=(1-t)*(1-t)*(1-t)*x[0]+3*t*(1-t)*(1-t)*x[1]+3*t*t*(1-t)*x[2]+t*t*t*x[3]; py=(1-t)*(1-t)*(1-t)*y[0]+3*t*(1-t)*(1-t)*y[1]+3*t*t*(1-t)*y[2]+t*t*t*y[3]; putpixel(px,py,WHITE); delay(2); } getch(); closegraph(); } Continue reading Bezier Curve Algorithm (C++)

Sutherland-Hodgeman Polygon Clipping Algorithm (C++)

#include <iostream.h> #include <conio.h> #include <graphics.h> int xl,yl,xh,yh,poly[100],n; void left_clip(){ int temp[100],i,j=0,count=0,x1,y1,x2,y2; for(i=0;i<2*n;i+=2){ x1 = poly[i]; y1 = poly[i+1]; x2 = poly[i+2]; y2 = poly[i+3]; if(x1<xl && x2<xl){ //both points outside. Do not store any vertices }else if(x1>xl && x2>xl){ //both points inside. Store second vertex temp[j] = x2; temp[j+1] = y2; j+=2; count++; }else if(x1<xl && x2>xl){ //outside to inside. Store intersection n second … Continue reading Sutherland-Hodgeman Polygon Clipping Algorithm (C++)