2011-12-14 8 views
6

Estoy trabajando en octava, necesito llamar al plot3 dos o más veces para producir un gráfico. Pero solo traza la última llamada de plot3. Necesito algo de ayuda.Llamadas multipistas en octava

Este es mi código: Sólo se traza la línea de plot3(tras(1), tras(2), tras(3), 'bo');

p = [ 0.0, 0.0, 0.0 
      500.0, 0.0, 0.0 
      500.0, -500.0, 0.0 
      0.0, -500.0, 0.0 
      0.0, 0.0, 0.0]; 
    mano = [119.818542 -43.371277 50.230591 1]; 

Tinv = [ 
0.998891 -0.001007 0.047065 64.223625 
0.000000 0.999771 0.021382 -291.750854 
-0.047076 -0.021359 0.998663 -1871.334229 
0.000000 0.000000 0.000000 1.000000 
] 

tras = Tinv*mano' 

hold("on"); 
xlabel("X"); 
ylabel("Y"); 
zlabel("Z"); 

plot3(p(:,1), p(:,2), p(:,3), 'r*-'); 
plot3(tras(1), tras(2), tras(3), 'bo'); 

hold("off"); 
pause; 
+0

Creo que su script funcionará perfectamente. Intente resaltar los puntos un poco más con 'plot3 (p (:, 1), p (:, 2), p (:, 3), 'r *'," markersize ", 20);' y vea si funciona . – Woltan

Respuesta

5

Su código de trazado está muy bien. Intente aumentar las extensiones de la gráfica con la función axis. El siguiente cambio:

% ... 

% Usage of axis: axis([xmin xmax ymin ymax zmin zmax]) 
axis([-100 600 -600 100 -2100 100]); 
plot3(p(:,1), p(:,2), p(:,3), 'r*-'); 
plot3(tras(1), tras(2), tras(3), 'bo');  

% ... 

Los resultados en la figura siguiente: enter image description here

Lo ideal es que haría que los valores de los alcances en el axis en relación con los mínimos y máximos valores de coordenadas en p y tras.

+0

¡Gracias! Realmente aprecio tu respuesta, me estaba volviendo loco – Herman