matlab - 创建一个轴居中不同的圆柱体

标签 matlab geometry

我知道 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/

相关文章:

javascript - 如何使用一组点创建 ZigZag 模式

matlab - 分析 mex 函数

matlab - 使用 NaN 在矩阵上运行 kmeans 函数?

python - 汉宁窗值在 Python 和 Matlab 中不匹配

python - Matlab到Python的转换: Read a text file into numpy records and search array for a string

matlab - 如何在matlab中制作圆圈并在其中生成随机点

matlab - 一次绘制可变数量的向量?

algorithm - 如何在 2D 中绘制透视校正网格

c++ - 在圆上找点

svg - 在 SVG 上绘制圆的一段