Ejercicio obligatorio 1
Fecha de entrega: Lunes 11 de septiembre
Nota
Nunca es buena idea empezar por un ejercicio integrador antes de tener practicados los temas que el trabajo integra.
Se sugiere antes de desarrollar este trabajo resolver, al menos, los siguientes ejercicios de la guía de Introducción al lenguaje C:
Ejercicio 1 (interés compuesto).
Ejercicio 4 (cantidad de segundos).
Ejercicio 13 (tabla del 7).
Ejercicio 18.a (factorial).
Ejercicio 19 (coeficientes binomiales).
Introducción
En el campo de la computación gráfica es común representar curvas según líneas de Bézier, las cuales se construyen mediante la interpolación de puntos según una base de polinomios de Bernstein.
Una base de polinomios de Bernstein de grado
donde
Una curva de Bézier se construye interpolando una determinada cantidad de
puntos mediante estos polinomios para el parámetro
Por ejemplo, para construir una curva cuadrática de Bézier,
Para operar esta curva se descompondrá en cada una de las coordenadas de los
puntos computando independientemente para
Potencia entera
Se pide programar una función
double potencia(double x, int y);
que calcule
Coeficientes binomiales
Se pide programar una función int binomial(int n, int k);
que calcule
Polinomios de Bernstein
Se pide programar una función double bernstein(int n, int i, double t);
que compute
Curva de Bézier
Dadas las siguientes definiciones:
#define GRADO 2
#define PASO 1e-3
#define X0 0
#define Y0 0
#define X1 2
#define Y1 3
#define X2 5
#define Y2 0
Se pide implementar un programa que calcule la curva cuadrática (segundo grado) de Bézier para los 3 puntos dados.
El programa debe imprimir las coordenadas PASO
por
vez.
Graficación
Se pide graficar los puntos que genera el programa como salida en el software de su preferencia (planilla de cálculos, octave, gnuplot, etc.)
Las coordenadas de los puntos dados son las mismas que las del ejemplo de curvas cuadráticas en el artículo sobre curvas de Bézier de Wikipedia, tomarlo como referencia.
Entrega
- Deberá entregarse:
El código fuente del programa desarrollado.
El gráfico de la salida en formato JPG o PNG.
La entrega se realiza a través del sistema de entregas.
El ejercicio es de entrega individual.