matlab将一条曲线的绕x轴旋转几何体图画出来
这是绘制旋转曲面网格图的程序,该程序可以绘制任意曲线沿任意旋转轴生成的旋转曲面。
把该文件保存到你的工作目录中即可。
用法说明:
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
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、我不知道你说的绕“旋转中心”旋转是什么意思,但可以肯定,如果不是绕固定轴旋转,而是绕固定点任意旋转的话,得到的应该是一个球面(由离旋转中心最远的点所有可能的位置组成)。
有问题可继续追问,但是,请明确你的问题,包括曲线的形式和旋转轴方向。
额,那个绕一个点旋转我的确没给清楚,这里得到的情况太多了,所以就不考虑了
至于曲线的形式,我们这里就只说说解析的吧,旋转轴当然是任意给出的一个向量,当然关于曲线上的某一个点的法向量除外
曲线解不解析没什么关系,但曲线是平面曲线还是空间曲线?
如果是平面曲线,它和旋转轴是否在一个平面内?
我上面说了,希望你能把问题说得明确一点、具体一点,换句话说,就是直接把曲线的方程和旋转轴给出来。
否则,我回答或者需要考虑最一般的情形,那样做太复杂,而且写出的代码可能也并不实用;或者我自己构造个例子,做完之后你又说不是你想要的,那不是白白浪费我的时间吗?