创建轴中心不同的圆柱体

时间:2010-03-10 23:47:23

标签: matlab geometry

我知道Matlab有一个叫做圆柱体的函数,当圆周上的点数和半径长度时,为圆柱创建点。如果我不需要单位圆柱体,并且也不希望它以默认轴为中心(例如沿z轴),该怎么办?创建这样一个气缸最简单的方法是什么?提前谢谢。

2 个答案:

答案 0 :(得分:11)

之前的答案很好,但您可以让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)

答案 1 :(得分:5)

将您最喜欢的scaling matrixtranslation matrixrotation matrix组合点数乘以。