poster
2019-12-10, 20:30
我知道Matlab有一个称为圆柱的函数,当沿圆周的点数和半径长度时,可以为圆柱创建点。如果我既不想使用圆柱体,又不想在默认轴上居中(例如沿z轴)怎么办?创建这种圆柱体的最简单方法是什么?提前致谢。
回答:
前面的答案很好,但是您可以让matlab为您做更多的工作(因为cylinder分离x,y,z分量的结果需要做一点工作才能进行旋转的矩阵乘法)。要使圆柱体的中心位于[x0 y0 z0] , [xf yf xf]缩放(除非需要椭圆圆柱体,否则使用xf=yf ),请使用:
[xyz] = cylinder; h=mesh(x*xf+x0,y*yf+y0,z*zf+z0) 如果您还想旋转它以使其不沿z轴对齐,请使用rotate 。例如,要绕x-axis 90度,使其沿y轴对齐,请使用:
rotate(h,[1 0 0],90)
更多&回答... (https://stackoverflow.com/questions/2421557)
回答:
前面的答案很好,但是您可以让matlab为您做更多的工作(因为cylinder分离x,y,z分量的结果需要做一点工作才能进行旋转的矩阵乘法)。要使圆柱体的中心位于[x0 y0 z0] , [xf yf xf]缩放(除非需要椭圆圆柱体,否则使用xf=yf ),请使用:
[xyz] = cylinder; h=mesh(x*xf+x0,y*yf+y0,z*zf+z0) 如果您还想旋转它以使其不沿z轴对齐,请使用rotate 。例如,要绕x-axis 90度,使其沿y轴对齐,请使用:
rotate(h,[1 0 0],90)
更多&回答... (https://stackoverflow.com/questions/2421557)