Programación de Gráficos - estudiante

 
Vista:

estudiante

Publicado por Eusebio Gonzalez (1 intervención) el 13/08/2002 10:31:55
Requiero de un programa en c++ que me permita realizar lineas y circulos a traves del algoritmo de bresenham, sin usar las funciones graficas de c++, las funciones deben ser creadas por mi mismo y no he podido realizar dichas funciones.....
agrdezco cualquier ayuda la respecto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:estudiante

Publicado por yo (1 intervención) el 05/09/2002 12:09:49
¡¡¡¿¿¿Como qué REQUIERES???!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:estudiante

Publicado por JOSE (1 intervención) el 05/09/2002 18:46:55
QUE AGO PARA BAJAR KASAA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:estudiante

Publicado por Carlos (11 intervenciones) el 01/02/2003 22:30:52
No se mucho de C++ pero por lo que he visto es un poco parecido al Pascal. Yo trabajo con Turbo Pascal.
Aca te mando algunas bases para realizar una linea con la formula de la funcion lineal.

Y(x) = m*x + b

m = tangente del angulo que se forma para la linea y es igual a DeltaY/DeltaX

Realizar un ciclo para X se desplace de 1 al valor de DeltaX y aplicar la formula de la linea.

Procedure Linea(Ax, Ay, Bx, By: Integer);
var
DeltaX, DeltaY: Integer;
X: Integer;
M: Real;
begin
DeltaX:=Abs(Bx-Ax);
DeltaY:=Abs(By-Ay);
If DeltaX = 0 then exit else M:=DeltaY/DeltaX;
For X:=1 to DeltaX do
PutPixel(Ax + X, Ay + Round(M * Y));
end;

La linea que se dibuja lo hace bien si el angulo no es superior a 45º. Si es asi, se tiene que repetir el proceso pero con el eje Y (X(y)=M*Y+B).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:estudiante

Publicado por math_roger (4 intervenciones) el 15/05/2003 12:43:14
Primero, conoces el algoritmo de Bresenham ????????????
---------------------------------------------------------------------
Para la linea
-----------------
1.- Se capturan los dos extremos de la linea y se almacena el extremo izquierdo en ( x0, y0 ).
2.- Se carga ( x0, y0 ) en el bufer de estructura; es decir, se traza el primer punto.
3.- Se calculan las constantes Dx ( x2-x1 ), Dy (y2-y1 ), 2Dy y 2Dy-2Dx y se obtiene el valor inicial para el parametro de decision como p0 = 2Dy - Dx.
4.- En cada xk, a lo largo de la linea, que inicia en k=0, se efectua la prueba siguiente. si pk < 0, el siguiente punto que se debe trazar es ( xk + 1, yk ) y pk +1 = pk + 2Dy
De otro modo, el siguiente punto que se debe trazar es ( xk + 1, yk + 1 ) y pk + 1 = pk + 2Dy - 2Dx .
5.- Se repite el paso 4 Dx veces.
---------------------------------------------------------------------
Para el circulo
-----------------
1.- Se captura el radio r y el centro de la circunferencia ( xc, yc ) y se obtiene el primer punto de una circunferencia centrada en el origen como ( x0, y0 ) = ( 0, r ).
2.- Se calcula el valor inicial para el parametro de decicion como p0 = ( 5 / 4 ) - r .
3.- En cada xk, posicion, al iniciar en k = 0, se realiza la prueba siguiente, Si pk < 0, el siguiente punto a lo largo de la circunferencia centrada en ( 0, 0 ) es ( x(k+1), yk ) y p(k+1) = pk + 2x(k+1) + 1
De otro modo, el siguiente punto a lo largo de la circunferencia es ( xk + 1, yk - 1 ) y p(k+1) = pk + 2x(k+1) + 1 - 2y(k+1)
donde 2x(k+1) = 2xk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar