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

徐小湛的博客

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

 
 
 

日志

 
 

球顶锥体  

2009-08-04 21:25:33|  分类: 高等数学图形动画 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

球顶锥体Spherical cone)是由一个圆锥面和一个球面所围成的立体。

由于这种立体酷似一个蛋卷冰淇淋,故球顶锥体也被称为“冰淇淋”(Ice cream)。

 

    常见的球顶锥体有两种:;(1)球面经过圆锥面的顶点;(2)球面的球心与圆锥面的顶点重合 。

(1)球面经过圆锥面
     圆锥面 phi=alpha 球面 r=2acos(phi) (球面经过圆锥面的顶点所围成的球顶锥体

(见同济大学《高等数学》(下册105页)) :

球顶锥体 - Calculus - 高等数学

with(plots):alpha:=Pi/4:a:=1:
r0:=(theta,phi)->2*a*cos(phi):
zhuimian:=plot3d([r*sin(alpha)*cos(t),r*sin(alpha)*sin(t),r*cos(alpha)],t=0..2*Pi,r=0..r0(t,alpha),color=green):
qiumian:=plot3d([r0(t,s)*sin(s)*cos(t),r0(t,s)*sin(s)*sin(t),r0(t,s)*cos(s)],t=0..2*Pi,s=0..alpha,color=yellow):
display(zhuimian,qiumian,axes=normal,scaling=constrained,lightmodel=light1,orientation=[20,60]);

 

球顶锥体 - Calculus - 高等数学

 
半顶角不同的圆锥面形成的球顶锥体:
球顶锥体 - Calculus - 高等数学
with(plots):a:=1:
r0:=(theta,phi)->2*a*cos(phi):
K:=60: for i from 1 to K do alpha:=i*(0.99*Pi/2)/K:
zhuimian[i]:=plot3d([r*sin(alpha)*cos(t),r*sin(alpha)*sin(t),r*cos(alpha)],t=0..2*Pi,r=0..r0(t,alpha),color=green):
qiumian[i]:=plot3d([r0(t,s)*sin(s)*cos(t),r0(t,s)*sin(s)*sin(t),r0(t,s)*cos(s)],t=0..2*Pi,s=0..alpha,color=red) od:
zhuimian:=display(seq(zhuimian[i],i=1..K),insequence=true):
qiumian:=display(seq(qiumian[i],i=1..K),insequence=true):
display(zhuimian,qiumian,axes=normal,tickmarks=[2,2,2],scaling=constrained,orientation=[20,60]);
 
 
 
(2)球面的球心与圆锥面的顶点重合
    
圆锥面 phi=alpha 与球面 r=a (球心在原点)所围成的球顶锥体:
 
 
球顶锥体 - Calculus - 高等数学
with(plots):alpha:=Pi/5:a:=1:
r0:=(theta,phi)->a:
zhuimian:=plot3d([r*sin(alpha)*cos(t),r*sin(alpha)*sin(t),r*cos(alpha)],t=0..2*Pi,r=0..r0(t,alpha),color=green):
qiumian:=plot3d([r0(t,s)*sin(s)*cos(t),r0(t,s)*sin(s)*sin(t),r0(t,s)*cos(s)],t=0..2*Pi,s=0..alpha,color=yellow):
display(zhuimian,qiumian,axes=normal,scaling=constrained,lightmodel=light1,orientation=[20,60]);
 
半顶角不同的圆锥面形成的球顶锥体

球顶锥体 - Calculus - 高等数学
with(plots):a:=1:
r0:=(theta,phi)->a:
K:=60: for i from 1 to K do alpha:=i*(Pi/2)/K:
zhuimian[i]:=plot3d([r*sin(alpha)*cos(t),r*sin(alpha)*sin(t),r*cos(alpha)],t=0..2*Pi,r=0..r0(t,alpha),color=yellow):
qiumian[i]:=plot3d([r0(t,s)*sin(s)*cos(t),r0(t,s)*sin(s)*sin(t),r0(t,s)*cos(s)],t=0..2*Pi,s=0..alpha,color=red) od:
zhuimian:=display(seq(zhuimian[i],i=1..K),insequence=true):
qiumian:=display(seq(qiumian[i],i=1..K),insequence=true):
display(zhuimian,qiumian,axes=normal,tickmarks=[2,2,2],scaling=constrained,orientation=[20,60]);

球顶锥体 - Calculus - 高等数学
with(plots):a:=1:
r0:=(theta,phi)->a:
K:=100: for i from 1 to K do alpha:=i*Pi/K:
zhuimian[i]:=plot3d([r*sin(alpha)*cos(t),r*sin(alpha)*sin(t),r*cos(alpha)],t=0..2*Pi,r=0..r0(t,alpha),color=yellow):
qiumian[i]:=plot3d([r0(t,s)*sin(s)*cos(t),r0(t,s)*sin(s)*sin(t),r0(t,s)*cos(s)],t=0..2*Pi,s=0..alpha,color=green,style=wireframe) od:
zhuimian:=display(seq(zhuimian[i],i=1..K),insequence=true):
qiumian:=display(seq(qiumian[i],i=1..K),insequence=true):
display(zhuimian,qiumian,axes=normal,tickmarks=[2,2,2],scaling=constrained,orientation=[20,60]);
 
倒过来看:
  评论这张
 
阅读(2056)| 评论(1)

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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