我知道 Matlab 有一个名为 cylinder 的函数,当沿圆周的点数和半径长度时,可以为圆柱体创建点。如果我不想要单位圆柱体,也不希望它以默认轴为中心(例如沿 z 轴)怎么办?创建这样一个圆柱体最简单的方法是什么?提前致谢。
最佳答案
前面的答案很好,但你可以让 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 轴
旋转 90 度,使其沿 y 轴对齐,请使用:
rotate(h,[1 0 0],90)
关于matlab - 创建一个轴居中不同的圆柱体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2421557/