Está en la página 1de 8

Universidad Tecnológica de Santiago

(UTESA)
Facultad de Arquitectura e Ingeniería

Asignatura:
Computación Gráfica

Asunto:
Tarea 3

Presentado a:
Joan Tejada Caba

Presentado por:
Joseph René Almonte Frías 1-19-2948

Santiago Rep. Dom.


30 de junio del 2022.
Introducción:
A continuación, presento mi investigación sobre los temas Algoritmos de polígonos regulares,
algoritmo DDA y Algoritmo de punto para circunferencias . Más adelante explicare de la
mejor forma cada uno de estos algoritmos con la finalidad de conocer más acerca de ellos y
ver sus aplicaciones en el mundo real. Esto con el propósito de sentar las bases de comprender
mejor de lo que trata esta asignatura, que es muy importante en nuestra vida informática.

El objetivo a mi parecer de esta asignación es conocer las implementaciones de estos


algoritmos en los diferentes softwares de diseño y dibujo que hacen uso de estos para calcular
y mostrarnos de manera eficiente el resultado que necesitamos obtener.
Algoritmo de polígonos regulares
Arquímedes proporciono un método para calcular con precisión arbitraria. La suma de las
longitudes de un rectangular polígono de x lados inscrito en una circunstancia, y la suma de
las longitudes de los lados circunscritos alrededor de un circulo es mayor al perímetro del
círculo.
Para un polígono de x lados, dividir el circulo en su conjunto de n. las longitudes de los lados
individuales sin l(n,r)=2r tan.
Podemos definir un polígono regular como si tuviera un centroide en el espacio euclidiano
de 2(cx,cy), el radio r del circulo que está circunscrito alrededor de una orientación y, y un
numero de lados nm, por lo tanto para podemos definir como una función frp que asigna el
espacio de todos los polígonos regulares posibles al espacio 3D.

Podemos usar la siguiente fórmula:


a = 2π / N, donde a es el ángulo, y N es la cantidad de lados.
Crearemos polígonos regulares en base a una circunferencia que circunscribe nuestro
polígono regular. Esto implica, que el centro de la circunferencia coincide con el centro
geométrico de cualquier polígono regular. Para esto, necesitamos usar algunas funciones
trigonométricas, junto con el ángulo ya calculado. El paso principal es averiguar la
coordenada del siguiente vértice de nuestro polígono.
Usaremos las siguientes fórmulas:
x i = cx + r * cos( i*a ) y i = cy + r * sen( i*a ) Donde:
i = 0,1,2,...,N-1, r es el radio de la circunferencia, y c = (cx, cy) es la coordenada del centro
geométrico de la circunferencia y del
polígono.
Al agregar el centro a nuestra fórmula, conseguimos mover el centro geométrico del origen
(0,0) al que nosotros deseemos. En la Figura se muestra el código que generaría los polígonos
regulares.

Algoritmo grafico de Primitiva de polígonos regulares


Algoritmo DDA
En gráficos por computadora, un analizador diferencial digital (DDA) es un hardware o
software que se utiliza para interpolar variables en el intervalo entre un punto inicial y final.
DDA se utiliza para dividir líneas, triángulos y polígonos. Se pueden ampliar para funciones
no lineales, como el mapeo de texturas en perspectiva derecha, curvas cuadráticas y vóxeles
horizontales.
En la implementación más simple para casos lineales como líneas
rectas, el algoritmo DDA x i = x i−1 + 1, y i = y i−1
interpola valores en el intervalo calculando para cada x i las +
ecuaciones
m, donde m es la pendiente de la fila. Este gradiente se puede expresar en DDA de la siguiente
manera:
M= Yend – Ystart
Xend – Xstart

El método DDA se puede implementar usando aritmética de números enteros o de punto


flotante. La implementación nativa de punto flotante requiere operaciones de suma y
redondeo para cada valor interpolado (por ejemplo, coordenadas x, y, profundidad,
componente de color, etc.) Este proceso solo es efectivo cuando una FPU está disponible
con redondeo rápido y operación de adición.

La operación de enteros de punto fijo requiere dos sumas para cada ciclo de salida y, en el
desbordamiento fraccional, una suma y una resta adicionales. La probabilidad de
desbordamiento de la parte fraccionaria es proporcional a la relación m de los valores
inicial/final interpolados. El

DDA es adecuado para implementaciones de hardware y se puede acoplar para optimizar el


rendimiento.

Un DDA lineal comienza calculando el valor más pequeño de dy o dx para un incremento de


unidad del otro. Luego, se muestrea una línea a intervalos unitarios en una coordenada, y los
valores enteros más cercanos a la ruta de la línea se determinan para la otra coordenada.

Considerando una línea recta con pendiente positiva, si la pendiente es menor o igual a 1,
muestreamos en x intervalos unitarios (dx = 1) y calculamos valores sucesivos de y como
Yk+1 = Yk + m
Yk+1 = Yk + 1

El índice k toma valores enteros a partir de 0 para el primer punto y se incrementa en 1 hasta
llegar al punto final. El valor y se redondea al entero más cercano para que corresponda a un
píxel de pantalla.
Para líneas con pendiente mayor que 1, invertimos los roles de x e y, es decir, muestreamos
en dy = 1 y calculamos valores de x consecutivos como

Xk+1= Xk + 1/m
Yk+1 = Yk + 1
Se realizan cálculos similares para ubicar píxeles a lo largo de una línea con pendiente
negativa. Por lo tanto, si el valor absoluto de la pendiente es menor que 1, establecemos dx =
1 si Xstar < Xend ,es decir, el punto final inicial está a la izquierda.

¿Cómo calcular el valor del punto de destino usando DDA?

Paso 1: aquí tenemos la entrada (X0, Y0) (X0, Y0) y debemos identificar si la línea corre
paralela al eje x o al eje y. Para encontrar eso, ahora calculemos la diferencia entre los valores
de píxel inicial y de destino.
dx = X1 – X0 dy = Y1 – Y0
Paso 2: Ahora, hemos identificado la diferencia y debemos dibujar la línea a lo largo del eje
x si 'dx' es cero; de lo contrario, debemos dibujar la línea paralela al eje y. Aquí está el cálculo
real en términos del lenguaje informático.
si (absoluto (dx) > absoluto (dy)) Pasos = absoluto (dx); más
Pasos = absoluto (dy);
Paso 3: ahora es el momento de identificar la coordenada 'x' real o los valores de píxel de las
coordenadas 'y' para dibujar la línea.

Incremento X = dx / (flotante) pasos; incremento Y = dy / (flotante) pasos; Paso 4: Esto debe


calcularse hasta que alcancemos el píxel de destino. El algoritmo DDAredondea el valor del
píxel al valor entero más cercano mientras realiza el cálculo. Aquí está el ejemplo de código
de lo que hemos discutido ahora.
Para (int v=0; v < Pasos; v++)
{
x = x + incremento de X; y = y + incremento de Y; putpixel (Redondo(x), Redondo(y));
}

Algotirmo de Punto medio por circunferencia


En gráficos por computadora, el algoritmo del punto medio de un círculo es un algoritmo
utilizado para determinar los puntos necesarios para clasificar un círculo. El algoritmo se
puede generalizar a curvas cónicas.
Una circunferencia se define como un conjunto de puntos que generalmente están a una
distancia dada r de una ubicación central. El cálculo se puede aligerar considerando la
simetría de los círculos, la forma del círculo es similar entre los cuadrantes y la simetría entre
el octal.
Para aplicar el método del punto medio, definimos una función de perímetro
como Pk = Fcirunferencia(x,y)= X^2 +Y^2 – r^2
Entonces:

Fcircunferencia (X,Y)<0 si (x,y) está dentro de la frontera de la circunferencia.


Fcircunferencia (X,Y)=0si (x,y) está en la frontera de la circunferencia.
Fcircunferencia (X,Y)>0} si (x,y) está fuera de la frontera de la circunferencia.
Los parámetros de decisión sucesivos se obtienen al utilizar cálculos incrementales.

*Se capturan el radio r y el centro de la circunferencia (xc, yc). *Se obtiene el primer punto
de la circunferencia centrada en origen (xc, yc) como (0, r).
*Se calcula el valor inicial del parámetro de decisión como p0=5/4 - r.
Para k=0 hasta x>=y incrementa k
Si pk < 0
*Siguiente punto de la circunferencia con centro (0,0) es (xk+1, yk).
*pk+1=pk+2xk+1+1.
Sino
*Siguiente punto de la circunferencia con centro (0,0) es (xk+1, yk-1).
*pk+1=pk+2xk+1+1-2yk+1.
//Donde 2xk+1=2xk+2 y 2yk+1=2yk-2
*Se determinan los puntos de simetría para los otros siete octantes. *Se mueve cada
posición del pixel calculada (x,y) a la trayectoria circular centrada en (xc, yc) y trazamos
los valores de las coordenadas: x=x+xc y y=y+yc.
Fin Para
Ventajas

 Consume pocos recursos en los ordenadores.


 Es el algoritmo más simple de implementar.
 No requiere de muchos conocimientos.
 Es un método rápido para calcular la posición de un pixel.
Desventajas

 La complejidad de las fórmulas, en grandes funciones, reducen la velocidad de


visualización.
 No es capaz de procesar algunas características de imagen (líneas cruzadas).
Conclusión:
En esta investigación aprendimos sobre los algoritmos de polígonos regulares, algoritmo
DDA y Algoritmo de punto, parte de su historia y su de cómo fueron cambiando el mundo
de la computación grafica a medida que iba pasando el tiempo. Vimos su implementación y
los pasos que conllevan a realizar dichos algoritmos. Y que de solo imaginar que podemos
usar cualquiera de estos algoritmos para hacer cosas increíbles en cualquier proyecto futuro
me hace llena de emoción pues harían mas intuitiva la forma en la que los usuarios visualizan
las pantallas de nuestras aplicaciones o sistemas.

También podría gustarte