代码之家  ›  专栏  ›  技术社区  ›  stanigator

创建轴以不同方式居中的圆柱体

  •  6
  • stanigator  · 技术社区  · 15 年前

    我知道matlab有一个函数叫做cylinder,当沿着圆周的点数和半径长度时,它可以为一个圆柱体创建点。如果我不需要一个单位圆柱,也不希望它在默认轴上居中(例如沿Z轴)?创建这样一个圆柱体最简单的方法是什么?事先谢谢。

    2 回复  |  直到 15 年前
        1
  •  11
  •   Ramashalanka    15 年前

    前面的答案很好,但是你可以让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)
    
        2
  •  5
  •   Carl Norum    15 年前