Matlab - Pregunta

 
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Intersectar dos superficies de revolución en una gráfica

Publicado por Alejandro (145 intervenciones) el 06/10/2023 18:01:46
Edgar, para lograr esto, puedes utilizar las funciones `fsurf` y `fimplicit` de Matlab. Aquí hay un ejemplo de cómo podrías intersectar dos superficies de revolución y visualizar solo la parte donde se cruzan:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
% 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;

En este ejemplo, `fsurf` se utiliza para crear dos superficies de revolución (`S1` y `S2`). Luego, `fimplicit` se utiliza para encontrar la intersección entre las dos superficies. La configuración de `FaceAlpha` se usa para hacer las superficies transparentes, y `EdgeColor` se configura para resaltar la línea de intersección.

Ajusta las funciones `f1` y `f2` según tus necesidades y asegúrate de que la función proporcionada a `fimplicit` represente la ecuación que define la intersección entre las dos superficies. ¡Espero que esto te sea útil!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar