Graphics programming using c
Home
Question Paperz
Java Projectz
ASP Projectz
8086
Data structures
c++
8085
Tuesday, September 28, 2010
Circumcircle of a polygon
#include<stdio.h> #include<graphics.h> #include<math.h> int main() { int n,i,x[10],y[10],a[10],b[10]; float m[10],c[10],xc,yc,r; printf("Enter the no of sides: "); scanf("%d",&n); for(i=0;i<n;i++) { printf(" Enter the x and y cordinates: "); scanf("%d %d",&x[i],&y[i]); } x[n]=x[0]; y[n]=y[0]; int gd=DETECT,gm=VGAMAX; initgraph(&gd,&gm,"NULL"); for(i=0;i<n;i++) { line(x[i],y[i],x[i+1],y[i+1]); delay(500); } for(i=0;i<n;i++) { a[i]=(x[i]+x[i+1])/2; b[i]=(y[i]+y[i+1])/2; } for(i=0;i<n;i++) { if(y[i]!=y[i+1]) { m[i]=-(float)(x[i]-x[i+1])/(y[i]-y[i+1]); c[i]=b[i]-m[i]*a[i]; } else m[i]=0; } i=0; if(y[i]==y[i+1]) { xc=a[i]; yc=(float)(m[i+1]*xc+c[i+1]); } else if(y[i+1]==y[i+2]) { xc=a[i+1]; yc=(float)(m[i+2]*xc+c[i+2]); } else { xc=(c[i+1]-c[i])/(m[i]-m[i+1]); yc=m[i]*xc+c[i]; } r=sqrt((xc-x[1])*(xc-x[1])+(yc-y[1])*(yc-y[1])); putpixel((int)xc,(int)yc,5); printf("Circumcenter--> (%f, %f)\nCircumradius--> %f",xc,yc,r); setcolor(9); circle((int)xc,(int)yc,r); while(!kbhit()); closegraph(); return 0; }
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment