Dibuja el circulo de Bresenham
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | #include<iostream.h> #include<graphics.h> #include<math.h> #include<conio.h> #include<stdio.h> #include<process.h> #include <stdlib.h> #include<dos.h> int convertx(int k) { return(320+k); } int converty(int k) { return(240-k); } int convertxc(int k) { return(320+k); } int convertyc(int k) { return(240-k); } void axis(); int circlemid(int,int,int); void plotpoint(); void main() { int gdriver=DETECT,gmode; initgraph(&gdriver,&gmode,"c:\tc1\bgi"); float xc,yc; float r; while(1) { cout<<"n Enter The Center Of The Circle : "; cin>>xc>>yc; cout<<"n Enter the Radius Of The Circle: "; cin>>r; circlemid(xc,yc,r); cout<<"n Do you want to continue ('y' or 'Y') : "; char c; c=getch(); if(c=='y' || c=='Y') break; } } void axis() { setcolor(1); line(320,0,320,480); line(0,240,640,240); } void plotpoint(int xc,int yc,int x1,int y1) { delay(50); putpixel(convertxc(xc)+x1,convertyc(yc)+y1,1); putpixel(convertxc(xc)-x1,convertyc(yc)+y1,2); putpixel(convertxc(xc)+x1,convertyc(yc)-y1,3); putpixel(convertxc(xc)-x1,convertyc(yc)-y1,4); putpixel(convertxc(xc)+y1,convertyc(yc)+x1,5); putpixel(convertxc(xc)-y1,convertyc(yc)+x1,6); putpixel(convertxc(xc)+y1,convertyc(yc)-x1,7); putpixel(convertxc(xc)-y1,convertyc(yc)-x1,8); } int circlemid(int xc,int yc,int r) { int x,y; x=0; y=r; axis(); putpixel(convertxc(xc),convertyc(yc),5); plotpoint(xc,yc,x,y); double p=1-r; while(x<y) { if(p<0) { x=x+1; p=p+2*x+1; } else { x=x+1; y=y-1; p=p+2*(x-y)+1; } plotpoint(xc,yc,x,y); } return(0); } |
1 comentarios en "Dibuja el circulo de Bresenham"
Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.
Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:
- Si es lenguaje C <code lang="c">Código en C</code>
- Si es lenguaje Pascal <code lang="pascal">Aquí dentro el código de Pascal</code>.
De esta manera el código coloreas el código.
Otro punto importante para muchos que crees que te he ignorado: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:Me reservo el derecho de alterar, publicar o no los comentarios así como también cambiar mis condiciones en el momento que yo lo requiera.
¿Si estas de acuerdo? Adelante! que ya te he quitado bastante tiempo leyendo esta basura :)
santos quispe
2010-04-21 13:46:31
por favor quisiera que me ayude con este Algoritmo BresenHam pero en codio java, le agradeceria muchisisimo