Pregunta
Publicado por EDGAR (1 intervención) el 23/02/2005 21:58:07
¿Cómo puedo intersectar dos superficies de revolución en una misma gráfica, pero que solo se pueda observar la parte qeu se está intersectando?
Valora esta pregunta


0
% Definir las funciones para las superficies de revolución
f1 = @(u, v) cos(u);
f2 = @(u, v) 0.5 * cos(u);
% Definir los intervalos para u y v
u = linspace(0, 2*pi, 100);
v = linspace(0, pi, 50);
% Crear las superficies de revolución
S1 = fsurf(f1, u, v, 'MeshDensity', 50);
hold on;
S2 = fsurf(f2, u, v, 'MeshDensity', 50);
% Intersectar las superficies usando fimplicit
intersection = fimplicit(@(x, y) cos(x) - 0.5 * cos(x), [-pi, pi, -1, 1]);
% Ajustar la apariencia de la gráfica
colormap('parula');
axis equal;
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
title('Intersección de Dos Superficies de Revolución');
% Ocultar las partes no deseadas
set(S1, 'FaceAlpha', 0.5); % Superficie 1 transparente
set(S2, 'FaceAlpha', 0.5); % Superficie 2 transparente
set(intersection, 'EdgeColor', 'red', 'LineWidth', 2); % Línea de intersección
hold off;