Предыдущий ответ в порядке, но вы можете заставить Matlab выполнять больше работы за вас (поскольку для результатов cylinder
отдельных x,y,z
компонентов вам нужно работать немного для выполнения умножение матриц для вращения). Чтобы центр основания цилиндра был на [x0 y0 z0]
, масштабирован на [xf yf xf]
(используйте xf=yf
, если не требуется эллиптический цилиндр), используйте:
[x y z] = cylinder;
h=mesh(x*xf+x0,y*yf+y0,z*zf+z0)
Если вы также хотите повернуть его, чтобы он не был выровнен по оси z, используйте rotate
. Например, чтобы повернуть на x-axis
на 90 градусов, чтобы он был выровнен вдоль оси y, используйте:
rotate(h,[1 0 0],90)