Matlab - Teleco

 
Vista:

Teleco

Publicado por Gonzalo (1 intervención) el 11/12/2002 10:45:50
Cómo se obtiene el angulo de superficie en un punto cualquiera en unos datos en 3D, como por ejemplo los q se obtienen con 'load mri'
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

Cálculo del ángulo de superficie en un punto específico en datos 3D

Publicado por Alejandro (145 intervenciones) el 05/10/2023 16:21:30
Gonzalo, en MATLAB, para obtener el ángulo de la superficie en un punto específico en un conjunto de datos 3D, puedes utilizar el gradiente de la superficie en ese punto. Aquí hay un ejemplo utilizando los datos 'mri':

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
% Cargar los datos 'mri' para tener un conjunto de datos 3D de ejemplo
load mri;
 
% Crear una cuadrícula en 3D
[x, y, z] = meshgrid(1:size(D, 1), 1:size(D, 2), 1:size(D, 3));
 
% Seleccionar un punto específico en el conjunto de datos (por ejemplo, el punto (20, 30, 10))
punto = [20, 30, 10];
 
% Calcular el gradiente de la superficie en el punto seleccionado
[dx, dy, dz] = gradient(D);
gradiente_en_punto = [interp3(x, y, z, dx, punto(2), punto(1), punto(3)), ...
                      interp3(x, y, z, dy, punto(2), punto(1), punto(3)), ...
                      interp3(x, y, z, dz, punto(2), punto(1), punto(3))];
 
% Calcular el ángulo de la superficie en el punto seleccionado
angulo_superficie_en_punto = atan2(norm(cross(gradiente_en_punto, [0, 0, 1])), dot(gradiente_en_punto, [0, 0, 1]));
 
disp(['El ángulo de la superficie en el punto seleccionado es: ' num2str(rad2deg(angulo_superficie_en_punto)) ' grados']);

En este código, `gradiente_en_punto` es el gradiente de la superficie en el punto específico seleccionado, y luego se utiliza la función `atan2` para calcular el ángulo entre el gradiente y la normal a la superficie.

Asegúrate de ajustar las coordenadas del punto según tus necesidades. Este código utiliza los datos 'mri' para proporcionar un ejemplo, pero puedes aplicar el mismo enfoque a otros conjuntos de datos 3D.
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