% Parámetros
R = 1;                        % Radio de la cicloide
u = linspace(0, 2*pi, 100);   % Rango de u
v = linspace(0, 1, 50);       % Rango de v

% Crear la malla de puntos para u y v
[U, V] = meshgrid(u, v);

% Parametrización de la cicloide en 3D
x = V;                                    % x(u,v) = v
y = R * (U - sin(U));                     % y(u,v) = R(u - sin(u))
z = R * (1 + cos(U));                     % z(u,v) = R(1 + cos(u))

% Graficar la superficie
figure;
surf(x, y, z);
colormap jet;                             % Colormap para la visualización
shading interp;                           % Suaviza la superficie
title('Cicloide en 3D con Parametrización y(u,v)');
xlabel('x');
ylabel('y');
zlabel('z');
axis equal;
grid on;

