如何画出一个有特定高度的圆柱体?

60次观看(过去30天)
我试着画出2 填满 圆柱,其中颜色代表圆柱的高度。
假设每个圆柱体的半径为1,高为2和3。我先画出这两个圆。我该如何继续呢?
数字
x = 1;
y = 2;
r = 1;
th = 0:π/ 100:2 *π;
= r * cos (th) + x;
b = r * sin (th) + y;
情节(a, b)
持有
x = 3;
y = 5;
r = 1;
th = 0:π/ 100:2 *π;
= r * cos (th) + x;
b = r * sin (th) + y;
情节(a, b)

接受的答案

明星黾
明星黾 2019年10月18日
编辑:明星黾 2019年10月18日
您可以使用 油缸 函数,但是编写自己的代码更有趣:
X = [1 3];
Y = [2 5];
r = 1;
HGT = [2 3];
th = 0:π/ 100:2 *π;
= r * cos (th);
b = r * sin (th);
数字
冲浪([一个;) + x (1), (b;b] + y(1),((1、大小(th, 2));0(1、大小(th, 2))) *高度(1),“FaceColor”“b”“EdgeColor”“没有”
持有
冲浪([一个;) + x (2) (b;b] + y(2),((1、大小(th, 2));0(1、大小(th, 2))) *高度(2),“FaceColor”“r”“EdgeColor”“没有”
Plot3 (a+x(1), b+y(1), ones(1,size(th,2))*hgt(1),“- k”%在圆柱体顶部绘制圆
Plot3 (a+x(2), b+y(2), ones(1,size(th,2))*hgt(2),“- k”%在圆柱体顶部绘制圆
持有
轴(“平等”
视图(45岁,30)
这两个 冲浪 调用(每个圆柱体一个)绘制圆柱体。的 plot3 调用在它们的顶部绘制圆圈,以使边缘更明显。
通过实验得到不同的结果。
编辑- (2019年10月18日21:02)
增加了绘图图:

更多答案(1)

亚当Danz
亚当Danz 2019年10月18日
编辑:亚当Danz 2019年10月18日
这是一个输入的函数
  • r:圆的半径。
  • : [x,y]圆心
  • 高度:圆柱的高度
  • nSides:圆柱的“边”数
  • 颜色: cyl的颜色。
% 2个气缸的值
R = [1,1];每个环的%半径
CNT = [1,2;3、5];% [x,y]每个环的中心
身高= [2,8];每个cyl的%高度
Color = [1 0 0;0 .5 0];每个环的%颜色
nSides = 100;%环的“边”数
创建图形
图()
持有
%遍历每个圆柱体
I = 1:数字(r)
plotCylinderWithCaps (r (i)、问(我:),高度(i), nSides,颜色(我,:));
结束
视图(3)
网格
函数[h1, h2, h3] = plotcylinders withcaps (r,cnt,height,nSides,color)
[X,Y,Z] =圆柱体(r,nSides);
X = X + cnt(1);
Y = Y + cnt(2);
Z = Z *高度;
h1 = surf(X,Y,Z,“facecolor”、颜色、“线型”“没有”);
h2 = fill3(X(1,:),Y(1,:),Z(1,:),color);
h3 = fill3(X(2,:),Y(2,:),Z(2,:),color);
结束%只有在脚本中才需要

标签

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的