Создание трехмерного графика с помощью вращения кривой - PullRequest
2 голосов
/ 06 марта 2011

Я пытаюсь повернуть 2D-кривую для создания трехмерного графика поверхности.

Я пытался использовать

[X,Z,Y] = cylinder(u);
surf(X,Y,Z), axis square

это, однако, вращает мою кривую вокруг неправильной оси. Как мне изменить ось?

Большое спасибо.

1 Ответ

4 голосов
/ 06 марта 2011

Чтобы повернуть ось цилиндра, вы можете просто изменить порядок X, Y и Z.

[X,Y,Z] = cylinder(u);

surf(X,Y,Z) %# rotation around Z
surf(Z,X,Y) %# rotation around X
surf(Y,Z,X) %# rotation around Y

EDIT

Чтобы изменить ось вращения вашей кривой, вы должны рассчитать поверхность. Например, чтобы повернуть y = sin(alpha) с alpha = 0:0.1:pi вокруг оси y, вы можете написать

r = 0:0.1:pi;
z = sin(r);
theta = 0:pi/20:2*pi;
xx = bsxfun(@times,r',cos(theta));
yy = bsxfun(@times,r',sin(theta));
zz = repmat(z',1,length(theta));
dfig,surf(xx,yy,zz)
axis equal

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...