2011-12-14 37 views
6

我正在使用八度音阶,我需要拨打plot3两次或多次才能生成一个图形。但它只绘制plot3的最后一个呼叫。我需要一些帮助。八度音程中的多次剧情调用

这是我的代码: 只绘制行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

我认为你的脚本可以正常工作。用plot3(p(:,1),p(:,2),p(:,3),'r *',“markersize”,20);来检查点是否有效。 – Woltan 2011-12-15 07:01:51

回答

5

你的绘图代码是好的。尝试使用axis函数将绘图区扩大。以下变化:

% ... 

% 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');  

% ... 

结果在下面的情节: enter image description here

理想情况下,你会作出的范围值axis相对最小和ptras最大坐标值。

+0

谢谢!!!!!我非常感谢你的回答,这让我疯狂 – Herman 2011-12-21 18:51:57