Matlab - Plano desplazado

 
Vista:
Imágen de perfil de Juan Carlos
Val: 58
Ha disminuido 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Plano desplazado

Publicado por Juan Carlos (22 intervenciones) el 14/06/2019 20:03:24
Saludos, intento graficar un plano definido por dos vectores , la idea es que se genere un plano que incluya a los dos vectores mencionados, el problema es que sale desplazado, me parece que no se definir bien los puntos del mesh, pero al ser una matriz de inicio que siempre va cambiando no se puede delimitar un rango fijo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
NM= [1 3; 2 4] //defino una matriz
figure  //figura
hold on;
z = zeros(size(NM, 1), 1); //para ejecutar quiver 
quiver3(z, z, z, NM(:,1), NM(:,2), z, 0);
grid on
view(45, 45);
s=sum(NM);
p = 10*(rand(3,1) - 0.5); //calculo un rango de puntos 
O1=[NM(1,:) 0] // 2 vectores de longitud 3 para cross
O2=[NM(2,:) 0]  //
v3 = cross(O1,O2)  //producto cruz para la normal al plano
[ x , y ] = meshgrid( p(1)+(-5:5) , p(2)+(-5:5) );   //puntos dentro del plano
z = p(3) - (v3(1)*(x-p(1)) + v3(2)*(y-p(2)))/v3(3); //ecuacion del plano
surf(x,y,z)// la superficie



El problema es que me da esto

1

Y lo esperado es que los vectores sean los extremos del plano o que estos vectores estén embebidos dentro del mismo plano.
Gracias por adelantado
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 David
Val: 804
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Plano desplazado

Publicado por David correa.dave30@gmail.com (1082 intervenciones) el 16/06/2019 03:01:26
Hola Juan Carlos;

A continuación un ejemplo de como podrías hacer la superposición de los vectores sobre el plano.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
% Plano y vectores
 
[X,Y] = meshgrid([-5:5],[-5:5]);
Z = -2*ones(size(X));
 
x1 = 1;        y1 = 1;    z1 = -2;
vx1 = 2;       vy1 = 3;   vz1 = 0;
 
x2 = 1;        y2 = 1;    z2 = -2;
vx2 = -2;       vy2 = -1;   vz2 = 0;
 
surf(X,Y,Z)
hold on
quiver3(x1,y1,z1,vx1,vy1,vz1,'b','Linew',3)
hold on
quiver3(x2,y2,z2,vx2,vy2,vz2,'r','Linew',3)

plano_vectores

​Saludos
David Correa
Director de Servicios de Programación
E-mail: informes@fismatlab.com
Web page: https://www.fismatlab.com
Facebook: https://www.facebook.com/fismatlabperu
Blog: http://fismatlab.blogspot.com
Spot: https://www.youtube.com/watch?v=NTDY-MRnFMk
WhatsApp: +51 - 922210488
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