SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: nwhck en Lunes 24 de Septiembre de 2007, 03:04
-
Hola, e estado mirando y no he conseguido dibujar un poligono con c++ 5 builder, los shapes que vienen solo son cuadrado, circulo, etc... a mi me gustaria dibujar un octogono, a poder ser introduciendo las cordenadas de sus vertices, hay alguna libreria que pueda utilizar para dibujar dicho octogono?. se agradecen ejemplos :D
muchas gracias :hola:
-
Hola que tal. Fijate companero que no he utiliziado c++5 builder, pero por lo que me han comentado dicen que es parecido a C. Por lo tanto hay te va una ideota jejej put attention ok.
1.- en C puedes crear un poligono a partir de dos vectores solo que tienes que conocer las coordenadas ejemplo:
int x[3]={100,125,150};
int y[3]={100,65,100};
for(i=0;i<3;i++)
line(x,y,x[i+1],y[i+1]);
bueno algo asi y esto te pintaria se supone que un triangulo
2.- ahora puedes por medio de matematicas no muy complejas sacar la formula para hacer x poligono (que no recuerdo ninguna jejej) y con esas formulas y pidiendo # de lados, radio o diametro, punto inicial y final, podras hacer x poligono
3.- si puedes ir sacandos los vertices entonces los puedes ir guardando en vectores y si los logras guardar en vectores solo tienes que correrlos en
algun ciclo.
siento no poner fin a tu problema, pero eso es algo que tu tienes que hacer y ademas te servira mucho para tus matematicas
-
Gracias por contestar, lo de a partir de los vectores sacar el poligono no me supone ningun problema, voy a probar ahora a ver si consigo hacerlo, tendre que hacer que desde el programa principal llame al que escribire ahora en c con la funcion line de la que me hablas puesto que el builder creo que no la tiene :D...
muchas gracias ;)
Edito para decir que ya he conseguido lo que queria, es algo asi:
Windows::TPoint points[4];
//aqui pones los vertices del poligono
points[0] = Point(15,20);
points[1] = Point(30,10);
points[2] = Point(130,30);
points[3] = Point(240,500);
//color para rellenar el poligono
Form1->Canvas->Brush->Color = 2093;
//esto pinta el poligono
Form1->Canvas->Polygon(points, 3);
-
sale, y rayos c++5 si que es diferente a C jaja!@ XD