Curvas de Bezier Grupo 17
Las curvas de Bézier llevan el nombre del ingeniero francés Pierre Bézier, quien las publicó en 1962 y, posteriormente, trabajando en Renault, las utilizó ampliamente en el diseño de las distintas partes del automóvil. Hoy en día, estas curvas se han convertido en un estándar en la industria de la gráfica por computadora, el diseño industrial y la ingeniería, permitiendo crear formas fluidas y precisas. Las curvas de Bézier de orden n están definidas por los puntos de control P0,P1,...,Pn y se pueden expresar mediante la siguiente fórmula:
donde los coeficientes \(B_{i,n}(t)\) son los polinomios de Bernstein, dados por:
para \(t \in [0, 1]\), y donde \(\binom{n}{i}\) es el coeficiente binomial.
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Curvas de Bézier. Grupo 17 |
| Asignatura | Teoría de Campos |
| Curso | 2024-25 |
| Autores | Alejandra García-Agulló Canle Álvaro Román Aguilera Fernando Barbancho Lara Jaime García Alegre |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
- 1 Curva de Bézier cúbica (n=3)
- 2 Campo tangente T(t) y campo normal N(t)
- 3 Curvatura de la Curva de Bézier
- 4 Vector tangente, vector normal y circunferencia osculatriz asociado a la curva de Beizer
- 5 Curva de Bézier tridimensional y curva poligonal
- 6 Gráficas de curvatura y de torsión
- 7 Triedo de Frenet a lo largo de la curva
- 8 Velocidad que debe mantener el Ferrari
- 9 Vector velocidad y vector aceleración centrípeta
- 10 Aplicaciones de las curvas de Bézier en la ingeniería
1 Curva de Bézier cúbica (n=3)
Una curva de Bézier cúbica es un caso especial de las curvas de Bézier que utiliza 4 puntos de control (P0, P1, P2, P3).
O la podemos expresar por componentes en la base física cartesiana [math]
\left[ \mathbf{x}, \mathbf{y}, \mathbf{z} \right]
[/math] de la forma:
.
A la hora de elegir los puntos coplanarios, hemos elegido los siguientes puntos:
Estos puntos son coplanarios en el plazo z=0 y además tienen características que permiten visualizar una curva de Bézier cúbica con una forma interesante, sin complicaciones en la implementación.
Esto garantiza que están en el mismo plano OXY, lo cual satisface la condición de coplanaridad de forma trivial.
% Puntos de control coplanares
P0 = [0, 0,0];
P1 = [1, 2,0];
P2 = [3, 3,0];
P3 = [4, 0,0];
% Parámetro t (de 0 a 1)
t = linspace(0, 1, 50);
% Polinomios de Bernstein
B0 = (1 - t).^3;
B1 = 3 * t .* (1 - t).^2;
B2 = 3 * t.^2 .* (1 - t);
B3 = t.^3;
% Coordenadas de la curva de Bézier
x = B0 * P0(1) + B1 * P1(1) + B2 * P2(1) + B3 * P3(1);
y = B0 * P0(2) + B1 * P1(2) + B2 * P2(2) + B3 * P3(2);
% Representación gráfica
figure;
plot(x, y, 'b-', 'LineWidth', 2); hold on;
plot([P0(1) P1(1) P2(1) P3(1)], [P0(2) P1(2) P2(2) P3(2)], 'ro--');
legend('Curva de Bézier', 'Curva poligonal');
title('Curva de Bézier Cúbica');
xlabel('x'); ylabel('y');
grid on;
2 Campo tangente T(t) y campo normal N(t)
3 Curvatura de la Curva de Bézier
La curvatura \( \kappa(t) \) de una curva mide el cambio de dirección del vector tangente por unidad de longitud en función del parámetro 𝑡.
Este concepto describe cómo cambia la dirección de la curva en cada punto.
En este apartado, se calculará y representará gráficamente la curvatura de la curva de Bézier planteada previamente, analizando su geometría local. Esto permitirá identificar puntos clave, como los de máxima y mínima curvatura, y optimizar el diseño de la curva.
El estudio de la curvatura es fundamental en aplicaciones prácticas, especialmente en la ingeniería de caminos. Por ejemplo, en el diseño de carreteras, este análisis ayuda a lograr un equilibrio entre suavidad y eficiencia, reduciendo la curvatura en puntos críticos. De esta manera, se mejora tanto la seguridad como la comodidad del usuario.
La curvatura se calcula a través de la siguiente fórmula:
para ello necesitaremos las derivadas primeras de la curva parametrizada (ya calculadas en el apartado anterior) y las segundas derivadas, que si la expresamos por componentes [math]
\left[ \mathbf{x}, \mathbf{y}\right]
[/math] nos queda:
Para la componente \( x(t) \):
Para la componente \( y(t) \):
% Puntos de control coplanares
P0 = [0, 0,0];
P1 = [1, 2,0];
P2 = [3, 3,0];
P3 = [4, 0,0];
% Parámetro t (de 0 a 1)
t = linspace(0, 1, 50);
% Polinomios de Bernstein
B0 = (1 - t).^3;
B1 = 3 * t .* (1 - t).^2;
B2 = 3 * t.^2 .* (1 - t);
B3 = t.^3;
% Coordenadas de la curva de Bézier
x = B0 * P0(1) + B1 * P1(1) + B2 * P2(1) + B3 * P3(1);
y = B0 * P0(2) + B1 * P1(2) + B2 * P2(2) + B3 * P3(2);
% Derivadas de la curva de Bézier
dx = gradient(x, t);
dy = gradient(y, t);
% Vectores tangentes normalizados
T = [dx; dy] ./ sqrt(dx.^2 + dy.^2);
% Vectores normales (perpendiculares al tangente)
N = [-T(2, :); T(1, :)];
% Segunda derivada de la curva
d2x = gradient(dx, t);
d2y = gradient(dy, t);
% Curvatura
curvatura = abs(dx .* d2y - dy .* d2x) ./ (dx.^2 + dy.^2).^(3/2);
% Representar curvatura
figure;
plot(t, curvatura, 'm-', 'LineWidth', 2);
title('Curvatura de la Curva de Bézier');
xlabel('t'); ylabel('\kappa(t)');
grid on;