Algoritmia - bresenham y DDa

   
Vista:

bresenham y DDa

Publicado por orlanyer (2 intervenciones) el 28/02/2008 14:45:56
quisiera saber el psuedocodigo de los algoritmos bresenham y DDA y tambien el codigo en c#
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
información
Otras secciones de LWP con contenido de Algoritmia
- Cursos de Algoritmia
- Temas de Algoritmia
- Chat de Algoritmia
información
Cursos y Temas de Algoritmia
- Hamming Block Codes
- Teoría de Grafos
- Curso de Algoritmia Avanzada

RE:bresenham y DDa

Publicado por jorge luis (1 intervención) el 08/04/2008 17:02:37
please necesitos el algoritmo de bresenham para pendientes positivas y negativas en c#
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:bresenham y DDa

Publicado por Daniel (1 intervención) el 10/04/2008 20:22:34
Puedes descargar el código C# del algoritmo Bresenham en http://www.ubicuos.com/download.php?view.43
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:bresenham y DDa

Publicado por TANIA (1 intervención) el 31/10/2008 16:10:07
algoritmo en visual.net bresenham y DDa
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:bresenham y DDa

Publicado por Oceano (4 intervenciones) el 01/02/2009 02:05:30
' Programa escrito en FreeBasic, compatible con QBasic.
' Algoritmo de Bresenham. Este programa traza lineas en cualquier sentido.
' El valor inicial es de (0,0).
' Introduce valores para X entre 0 y 640, para Y entre 0 y 480.
' Si implementas este programa para otra cosa (NO en este programa),
' comprobaras que tambien puedes introducir numeros negativos.


Dim As Integer Incrd1, Incrd2, IncrXold, IncrXnew, IncrYold, IncrYnew
Dim As Integer DistX, DistY, NumPixel, Decision, Bucle
Dim As Integer Xnew, Ynew, Xold, Yold, x, y

Screen 12 ' Pantalla Grafica

Xold=0
Yold=0

While (1)

Input "Eje X:", Xnew
Input "Eje Y:", Ynew

DistX = Abs(Xnew - Xold)
DistY = Abs(Ynew - Yold)

If DistX >= DistY Then
NumPixel = DistX + 1
Decision = (2 * DistY) - DistX
Incrd1 = DistY * 2
Incrd2 = (DistY - DistX) * 2
IncrXold = 1
IncrXnew = 1
IncrYold = 0
IncrYnew = 1
Else
NumPixel = DistY + 1
Decision = (2 * DistX) - DistY
Incrd1 = DistX * 2
Incrd2 = (DistX - DistY) * 2
IncrXold = 0
IncrXnew = 1
IncrYold = 1
IncrYnew = 1
End If

If Xold > Xnew Then
IncrXold = -IncrXold
IncrXnew = -IncrXnew
End If

If Yold > Ynew Then
IncrYold = -IncrYold
IncrYnew = -IncrYnew
End If

x = Xold
y = Yold

For Bucle = 1 To NumPixel

PSet (x,y), 15

If Decision < 0 Then
Decision = Decision + Incrd1
x = x + IncrXold
y = y + IncrYold
Else
Decision = Decision + Incrd2
x = x + IncrXnew
y = y + IncrYnew
End If

Next Bucle

Xold = Xnew
Yold = Ynew

Wend
End
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:bresenham y DDa

Publicado por Oceano (4 intervenciones) el 01/02/2009 02:35:18
' DDA 2D modo texto.
' Programa escrito en FreeBasic, compatible con QBasic.

Dim As Integer x1, y1, x2, y2 ,dx, dy, steps, i
Dim As Single x_inc, y_inc, x, y

x1=0
y1=0

While 1

Input "X:", x2
Input "Y:", y2

dx = x2 - x1
dy = y2 - y1

If abs(dx) > abs(dy) then
steps = abs(dx)
Else
steps = abs(dy)
EndIf

x_inc = dx/steps
y_inc = dy/steps

x=x1
y=y1

Print x, y

For i = 1 to steps

x = x + x_inc
y = y + y_inc

Print x, y

Next
x1=x2
y1=y2

Wend
End
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

Cómo resolver Bresenham

Publicado por Oceano (1 intervención) el 02/02/2009 17:51:27
Si vas a esta web:

http://proyectosroboticos.es.tl

encontrarás las soluciones para aplicar el algoritmo de bresenham en 2D, 3D y 4D. En este último caso, se trata de usar los 3 ejes XYZ y otro auxiliar.

Saludos.
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