Несколько вызовов сюжета в октаве - PullRequest
6 голосов
/ 15 декабря 2011

Я работаю в октаве, мне нужно позвонить 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;

1 Ответ

5 голосов
/ 16 декабря 2011

Ваш код для печати в порядке.Попробуйте увеличить размеры графика с помощью функции 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 относительно минимальных и максимальных значений координат в p и tras.

...