help me about drawing 3D in matlab ?

1 次查看(过去 30 天)
Let D is the region limit by: y = x^2 + 1, y = 0, x = 0, x = 3. Now I can draw the region D by fill command. Could you please help me how to draw the round cubic created by rotating D around x axis. thanks (like the picture below)

采纳的回答

Walter Roberson
Walter Roberson 2013-12-30
xvals = linspace(0, 3, 1025);
yvals = x.^2 + 1;
zvals = zeros(size(xvals));
xyz = [xvals(:), yvals(:), zvals(:)];
now you put xyz through standard rotation matrices, using a variety of angles, getting a series of output xyz for each input xyz. Put all of the resulting coordinates into arrays as vertices. Then construct edge lists, linking in a rectangular mesh -- the xyz for the N'th point on the K'th angle connecting to the (N-1)'st point and the (N+1)'th point at the K'th angle, and linking to the N'th point on the (K-1)'st and (K+1)'th angle. Toss everything into appropriate arguments for patch(). Adjust the face color parameters as you prefer: if you want everything to be the same nominal color then you will probably want to set up a lighting object (your sample diagram is lit from the right-and-back somewhere.)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by