я получил следующее в Matlab (решение, как в примере в http://uk.mathworks.com/help/matlab/ref/viewmtx.html):проект 3D участок в плоскости экрана 2D
subplot(211)
h = ezplot3('cos(t)', 'sin(t)', 'sin(5*t)', [-pi pi]);
data = get(h,{'XData','YData','Zdata'});
data = [cat(1,data{:})', ones(numel(data{1}),1)];
% Projection matrix on screen
[az,el] = view(); A = viewmtx(az,el);
data_transformed = A*data';
subplot(212)
plot(data_transformed(1,:), data_transformed(2,:))
Это преобразование не работает с:
h = ezplot3('t', 'sin(t)', '20*cos(t)', [0 10*pi]);
Как связаться с ge t экранная проекция 3-го участка?
Кроме того, любые ссылки на математику позади проекции, с примерами было бы слишком хорошо :)
Это не четвертый сюжет, как раз вид в плоскости [x, z] третьего сюжета? – Adriaan
@Adriaan Не должно быть. Первый сюжет применяет одну матрицу преобразования и получает проекцию экрана (или это то, что я думал, что это так). – Oleg
Думаю, они должны. Насколько я вижу, вы не изменяете построенную функцию, а только угол, на котором она просматривается. Второе изображение снова представляет собой вид плоскости [x, z] первого. Вы можете сделать это вручную (щелкните значок «поворот» на графике), но этот код, по-видимому, вращает график для вас – Adriaan