如何用matlab绘制任意一个圆柱

如何用matlab绘制任意一个圆柱,第1张

R=1%半径

a=1%原点x坐标

b=1%原点y坐标

h=2%圆柱高度

m=100%分割线的条数

[x,y,z]=cylinder(R,m)%创建以(0,0)为圆心,高度为[0,1],半径为R的圆大手备柱滚毁

x=x+a%平移x轴

y=y+b%平移y轴,改为(a,b)为底圆的薯指圆心

z=h*z%高度放大h倍

mesh(x,y,z)%重新绘图

clear all

r=1%圆柱半径

n=100%设置多少个边逼近圆

h=5%圆柱高

[x,y,z]=cylinder(r,n)%生成标准的100个面的圆柱数据亏散,半径为r,高为1,底面圆心0,0;

z1=[z(1,:)z(2,:)+h-1]%圆柱高增高,变为高h

%为变成实心封顶添加数据

z2=[z(1,:)z1z1(2,:)]

x2=[zeros(1,n+1)xzeros(1,n+1)]

y2=[zeros(1,n+1)yzeros(1,n+1)]

z3=[z1(1,:)z1(1,:)]

x3=[x(1,:)x(1,:)]

y3=[y(1,:)y(1,:)]

z4=[z1(2,:)z1(2,:)]

z5=z2([1,2],:)

x5=x2([1,2],:)

y5=y2([1,2],:)

z6=z2([3,4],:)

figure(1)

mesh(x2,z2,y2)

map=jet(16)

cl=12%可设置16种颜色(1-16)

map1=map(cl,:)

colormap(map1)

alpha(0.6)%调节透明度(0-1)

axis equal

figure(2)

surf(x2,z2,y2,'LineStyle','none')

map=jet(16)

cl=4%可设置16种颜色(1-16)

map1=map(cl,:)

colormap(map1)

hold on

surf(x3,z3,y3)

surf(x3,z4,y3)

alpha(.7)%调毁空尺节透明度(0-1)

hold off

axis equal

figure(3)

surf(x,z1,y)

map=jet(16)

cl=13%可设置8种颜色(1-16)

map1=map(cl,:)

colormap(map1)

hold on

surf(x5,z5,y5,'LineStyle','none'纤高)

surf(x5,z6,y5,'LineStyle','none')

alpha(.9)%调节透明度(0-1)

hold off

axis equal

把x^2+y^2=10*x化成标准型

(x-5)^2+y^2=5^2

t=0:pi/20:2*pi

x=(sin(t)+1)*5

y=cos(t)*5

z=linspace(0,5,length(t))

X=meshgrid(x)

Y=meshgrid(y)

Z=[meshgrid(z)]'

surf(X,Y,Z)

xlabel('x'),ylabel('y'),zlabel('z'埋轮)

axis equal

axis([0 10 -5 5])

for k=1:4

view(-37.5,10*k)

pause %按任意键

end

图形结果见知液岁搭睁:

http://hi.baidu.com/chemical%5Fengineering/album/item/cc6dd1582927128d810a18f0.html


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12350216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存