登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

徐小湛的博客

高等数学课件、函数图形动画、数学软件应用

 
 
 

日志

 
 

旋转椭球面  

2009-07-18 10:26:42|  分类: 高等数学图形动画 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 所有图形见数学图形目录

 

yOz面上的椭圆绕 z 轴旋转

旋转椭球面 - Calculus - 高等数学

旋转椭球面 - Calculus - 高等数学

绕 z 轴旋转一周的旋转椭球面的参数方程为

旋转椭球面 - Calculus - 高等数学

旋转椭球面 - Calculus - 高等数学

with(plots):
a:=2:b:=1: t1:=0:t2:=2*Pi:
x:=t->0: y:=t->a*cos(t): z:=t->b*sin(t): r:=t->sqrt(x(t)^2+y(t)^2):
qumian:=plot3d([r(t)*cos(theta),r(t)*sin(theta),z(t)] ,t=t1..t2,theta=0..2*Pi):
quxian:=spacecurve([x(t),y(t),z(t)],t=t1..t2,thickness=4,color=red):
x_axis:=plot3d([u,0,0],u=-2.5..2.5,v=0..0.01):
y_axis:=plot3d([0,u,0],u=-2.5..2.5,v=0..0.01):
z_axis:=plot3d([0,0,u],u=-1.5..2,v=0..0.01):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(qumian,quxian,xyz,axes=none,grid=[54,76],lightmodel=light2,scaling=constrained);

 

利用正交变换实现曲线绕z轴的旋转:

旋转椭球面 - Calculus - 高等数学

旋转椭球面 - Calculus - 高等数学

with(plots):a:=1:b:=2.6:
x:=t->0: y:=t->a*cos(t): z:=t->b*sin(t):
t1:=0:t2:=2*Pi:
qumian:=plot3d([x(t)*cos(s)-y(t)*sin(s),x(t)*sin(s)+y(t)*cos(s),z(t)],t=t1..t2,s=0..2*Pi):
quxian:=spacecurve([x(t),y(t),z(t)],t=t1..t2,thickness=4,color=red):
x_axis:=plot3d([u,0,0],u=-2..2,v=0..0.01):
y_axis:=plot3d([0,u,0],u=-2..2,v=0..0.01):
z_axis:=plot3d([0,0,u],u=-3.2..3.5,v=0..0.01):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(qumian,quxian,xyz,axes=none,grid=[54,76],lightmodel=light2,scaling=constrained);

 

旋转椭球面 - Calculus - 高等数学

with(plots):
y:=t->2*cos(t):z:=t->sin(t):x:=t->0:
K:=60:for i from 1 to K do ti:=i*4*Pi/K:
qumian[i]:=plot3d([x(t)*cos(theta)-y(t)*sin(theta),x(t)*sin(theta)+y(t)*cos(theta),z(t)],t=0..2*Pi,theta=0..ti, scaling=constrained):
muxian[i]:=spacecurve([x(t)*cos(ti)-y(t)*sin(ti),x(t)*sin(ti)+y(t)*cos(ti),z(t)],t=0..2*Pi,thickness=3,color=red) od:
qumian:=display(seq(qumian[i],i=1..K),insequence=true):
muxian:=display(seq(muxian[i],i=1..K),insequence=true):
x_axis:=plot3d([u,0,0],u=-2.5..2.5,v=0..0.01):
y_axis:=plot3d([0,u,0],u=-2.5..2.5,v=0..0.01):
z_axis:=plot3d([0,0,u],u=-1.5..1.5,v=0..0.01):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(qumian,muxian,xyz,axes=none,lightmodel=light3);

 

yOz 面上的椭圆绕 x 轴旋转:

旋转椭球面 - Calculus - 高等数学

with(plots):
y:=t->2*cos(t):z:=t->sin(t):x:=t->0:
K:=60:for i from 1 to K do ti:=i*4*Pi/K:
qumian[i]:=plot3d([x(t)*cos(theta)-z(t)*sin(theta),y(t),x(t)*sin(theta)+z(t)*cos(theta)],t=0..Pi,theta=0..ti, scaling=constrained):
muxian[i]:=spacecurve([x(t)*cos(ti)-z(t)*sin(ti),y(t),x(t)*sin(ti)+z(t)*cos(ti)],t=0..2*Pi,thickness=3,color=red) od:
qumian:=display(seq(qumian[i],i=1..K),insequence=true):
muxian:=display(seq(muxian[i],i=1..K),insequence=true):
x_axis:=plot3d([u,0,0],u=-1.5..1.5,v=0..0.01):
y_axis:=plot3d([0,u,0],u=-2.5..2.5,v=0..0.01):
z_axis:=plot3d([0,0,u],u=-1.5..1.5,v=0..0.01):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(qumian,muxian,xyz,axes=none,lightmodel=light3);

 

xOy 面上的椭圆绕 x 轴旋转:

旋转椭球面 - Calculus - 高等数学

with(plots):
x:=t->2*cos(t):y:=t->sin(t):z:=t->0:
K:=60:for i from 1 to K do ti:=i*4*Pi/K:
qumian[i]:=plot3d([x(t),y(t)*cos(theta)-z(t)*sin(theta),y(t)*sin(theta)+z(t)*cos(theta)],t=0..Pi,theta=0..ti, scaling=constrained):
muxian[i]:=spacecurve([x(t),y(t)*cos(ti)-z(t)*sin(ti),y(t)*sin(ti)+z(t)*cos(ti)],t=0..2*Pi,thickness=3,color=red) od:
qumian:=display(seq(qumian[i],i=1..K),insequence=true):
muxian:=display(seq(muxian[i],i=1..K),insequence=true):
x_axis:=plot3d([u,0,0],u=-2.5..2.5,v=0..0.01):
y_axis:=plot3d([0,u,0],u=-1.5..1.5,v=0..0.01):
z_axis:=plot3d([0,0,u],u=-1.5..1.5,v=0..0.01):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
display(qumian,muxian,xyz,axes=none,lightmodel=light3);


 

  评论这张
 
阅读(12606)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018