matlab将一条曲线的绕x轴旋转几何体图画出来

如题,如果我有一条曲线(已经在二维坐标上画出),希望可以得到其以某个旋转轴或旋转中心旋转得到的三维几何体,用matlab应该怎么实现?求指教

这是绘制旋转曲面网格图的程序,该程序可以绘制任意曲线沿任意旋转轴生成的旋转曲面。

把该文件保存到你的工作目录中即可。

用法说明:

rotsurf(curve,alpha,dirct,orgin)

  curve=[x,y,z]为母线,其中x,y,z为列向量,分别代表母线的三维坐标

  向量alpha为旋转的弧度,默认为0:pi/36:2*pi,采样点的范围和密度都可以手动控制

  direct和origin分别代表旋转轴的方向和该旋转轴上的任意一点的坐标,这两个参数合起来确定了一条直线,即旋转轴,其中:

      direct表示旋转轴的方向,有两种表示法[theta,phi]或[x0,y0,z0],其中:

          theta代表沿xoy平面从x轴正方向逆时针旋转的弧度,phi代表从xoy平面向z轴正方向旋转的弧度

          [x0,y0,z0]代表方向向量

          direct默认为[0 0 1],即z轴方向

      origin=[xo,yo,zo]为该旋转轴上的任意一点坐标,默认为[0 0 0]即原点

h=rotsurf(...)

  绘制曲面的同时返回该曲面的句柄h


例:绘制母线为x=0,y^2+z^2=1,旋转轴为x=1,z=-y-2的圆环

t=linspace(-pi,pi,37);
y=sin(t);z=cos(t);x=y-y;
rotsurf([x' y' z'],[],[0 -1 1],[1 -2 0])
xlabel('x');ylabel('y');zlabel('z');axis equal



温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
1、如果绕某个坐标轴旋转(如x轴),相对来说比较容易,可以参考我以前的回答:
http://zhidao.baidu.com/question/557206072.html
http://zhidao.baidu.com/question/497173066.html
其他人回答的也有过相关的主题:
http://zhidao.baidu.com/question/254033517.html
http://zhidao.baidu.com/question/101555209.html

2、如果绕空间任意轴旋转,需要指定旋转轴的方向,做起来也更复杂一些。

3、我不知道你说的绕“旋转中心”旋转是什么意思,但可以肯定,如果不是绕固定轴旋转,而是绕固定点任意旋转的话,得到的应该是一个球面(由离旋转中心最远的点所有可能的位置组成)。

有问题可继续追问,但是,请明确你的问题,包括曲线的形式和旋转轴方向。追问

额,那个绕一个点旋转我的确没给清楚,这里得到的情况太多了,所以就不考虑了
至于曲线的形式,我们这里就只说说解析的吧,旋转轴当然是任意给出的一个向量,当然关于曲线上的某一个点的法向量除外

追答

曲线解不解析没什么关系,但曲线是平面曲线还是空间曲线?
如果是平面曲线,它和旋转轴是否在一个平面内?

我上面说了,希望你能把问题说得明确一点、具体一点,换句话说,就是直接把曲线的方程和旋转轴给出来。
否则,我回答或者需要考虑最一般的情形,那样做太复杂,而且写出的代码可能也并不实用;或者我自己构造个例子,做完之后你又说不是你想要的,那不是白白浪费我的时间吗?

追问

额,明白了,那我直接上具体的问题了,到这里下
http://pan.baidu.com/share/link?shareid=133765476&uk=2787192994
绕了这么多弯子,不好意思啊

追答

链接失效了,楼主或者可以参考楼下的回答。

本回答被提问者采纳

matlab将一条曲线的绕x轴旋转几何体图画出来
direct和origin分别代表旋转轴的方向和该旋转轴上的任意一点的坐标,这两个参数合起来确定了一条直线,即旋转轴,其中:direct表示旋转轴的方向,有两种表示法[theta,phi]或[x0,y0,z0],其中:theta代表沿xoy平面从x轴正方向逆时针旋转的弧度,phi代表从xoy平面向z轴正方向旋转的弧度 [x0,y0,z0]代...

matlab中如何绘制一个三维图绕X轴旋转60°的图像?
编程后运行可以得到如下结果。图1,未旋转的球;图2,绕X轴旋转60°的球

利用matlab如何绘制出椭圆绕x轴旋转一周后所围成的图形?
将椭圆绕x轴旋转,求所围成曲面的体积,... 3 2013-08-21 matlab将一条曲线的绕x轴旋转几何体图画出来 12 2011-03-21 在matlab中绘制了一个椭圆,如何旋转一定角度 15 2016-12-03 Matlab:求曲线与x轴所围成的图形分别绕y轴、x轴旋转... 9 2009-06-15 用matlab怎么绘制一条曲线绕z轴旋转生成的曲...

用matlab画一张图:一个动点在动系中绕x轴作旋转运动,同时动系绕定系y...
1、动点在动系中绕x轴作旋转运动的角速度w1;2、动系绕定系y轴作旋转运角速度w2;3、动点的初始位置[x0 y0 z0]。由于旋转是周期性的,所以得到的空间曲线必然也是周期性的。参考代码 t = 0 : 0.01 : 2*pi;% 动点的初始位置(设两坐标系初始位置重合)x0 = 4;y0 = 3;z0 = 0;% ...

关于Matlab作已经知函数绕固定轴旋转而成的三维函数问题
首先,你用的plot画出来的是一个二维的图形,即使通过旋转,在视觉上 你也只能看到一个投影的平面图,为了解决这个问题 我们得把你需要的曲线用plot3画成空间曲线,这样就能看到旋转效果 命令如下:>> p=-2*pi:0.01:2*pi;>> z=zeros(size(p));%生成与p同样大小的零矩阵z,让该平面处在z=...

在matlab画出三维球面并绕轴旋转一定角度
1、首先我们用余弦函数声明x坐标轴的值。2、接下来用正弦函数声明y坐标轴的值。3、然后我们声明z坐标的点,接着用plot3来绘制三维图形。4、运行代码以后我们就可以看到绘制好的三维图形了。5、我们可以点击顶部的旋转按钮对图形进行选项。6、最后通过旋转工具可以查看图形的任意角度。

用matlab求由连续曲线y=e^(-x),直线x=0,x=1及x轴所围的平面图形(如图...
所围面积绕x轴旋转一周所形成的旋转体体积=1.31.如图所示:

在matlab画出三维球面并绕轴旋转一定角度
1、打开Matlab。2、输入下面代码点击Enter,>> ezmesh('cos(u)*cos(v)','cos(u)*sin(v)','sin(u)')。3、>>ezmesh('sin(u)*cos(v)','2*sin(u)*sin(v)','3*cos(u)' )。4、双叶双曲面>> ezmesh('sec(u)*cos(v)','2*sec(u)*sin(v)','3*tan(u)')。5、 >>ezsurf...

matlab 中已知z-x面曲线,求该曲线绕z轴旋转一周所形成的面。
首先,把z-x面上曲线的方程给出来;然后,根据此方程求出绕z轴旋转所得曲面的方程;最后,据曲面方程作图。楼主,给条z-x面上曲线的方程,就可让你看看你所需要的曲面。

利用matlab画出下面图形,并对下列图形,分别求它们绕x轴及y轴回转所得...
a=-0.1:0.001:2.1;b=0.5*(2-a);bar(a,b,'y');axis([0,2,0,1]);

相似回答