The previous answer is fine, but you can get matlab to do more of the work for you (because the results of cylinder
separate x,y,z
components you need to work a little to do the matrix multiplication for the rotation). To have the center of base of the cylinder at [x0 y0 z0]
, scaled by [xf yf xf]
(use xf=yf
unless you want an elliptic cylinder), use:
[x y z] = cylinder;
h=mesh(x*xf+x0,y*yf+y0,z*zf+z0)
If you also want to rotate it so it isn't aligned along the z-axis, use rotate
. For example, to rotate about the x-axis
by 90 degrees, so it's aligned along the y-axis, use:
rotate(h,[1 0 0],90)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…