4.4 旋转曲面的动画(2)
参数曲线绕坐标轴旋转形成的旋转曲面的动画
例 4.4.5 作出以下直线绕 z 轴旋转一周得到的旋转曲面的动画。
解 旋转曲面的参数方程为:
输入以下命令:
with(plots): x:=t->0: y:=t->1: z:=t->t: u:=sqrt(x(t)^ 2+y(t)^2):
a:=-1: b:=1: K:=20: for i from 1 to K do ti:=i2Pi/K:
qumian[i]:=plot3d([u(t)*cos(theta), u(t)*sin(theta), z(t)],t=a…b, theta=0…ti) od:
L:=display(seq(qumian[i],i=1…K),insequence=true):
display(L,L, style=patch, lightmodel=light2, orientation=[45,70],
axes=frame,tickmarks=[2,2,2]);
输出动画(圆柱面 x^ 2+y^2=1):
输入以下命令:
with(plots):with(plottools):
x:=t->1: y:=t->0: z:=t->t: u:=t->sqrt(x(t)2+y(t)2):
Muxian:=spacecurve([x(t),y(t),z(t)],t=-1.8…1.8, thickness=3,color=red):
K:=30:
for i from 1 to K do ti:=i4Pi/K:
qumian[i]:=plot3d([u(t)*cos(theta),u(t)*sin(theta),z(t)],t=-1.3…1.3,theta=0…ti,
scaling=constrained,style=patch):
muxian[i]:=rotate(Muxian,ti,[[0,0,0],[0,0,1]]) od:
L:=display(seq(qumian[i],i=1…K), insequence=true):
M:=display(seq(muxian[i],i=1…K), insequence=true):
display(L,M,orientation=[40,70],tickmarks=[1,1,1],axes=frame,
lightmodel=light1,scaling=unconstrained);
输出动画(含旋转直线):
例 4.4.6 作出以下直线绕 z 轴旋转一周得到的旋转曲面的动画。
解 旋转曲面的参数方程为:
输入以下命令:
with(plots): x:=t->1: y:=t->t: z:=t->t: u:=sqrt(x(t)^ 2+y(t)^2):
a:=-1: b:=1: K:=20: for i from 1 to K do ti:=i* 2*Pi/K:
qumian[i]:=plot3d([u(t)*cos(theta), u(t)*sin(theta), z(t)],t=a…b, theta=0…ti) od:
L:=display(seq(qumian[i],i=1…K),insequence=true):
display(L,L, style=patch, lightmodel=light2, orientation=[45,70],
axes=frame,tickmarks=[2,2,2]);
输出动画(单叶双曲面):
但是以上曲面的一组母线不是旋转直线。
例 4.4.7 作出以下直线绕 z 轴旋转一周得到的旋转曲面的动画。
要求母线是旋转直线!
解 输入以下命令:
with(plots):with(plottools): x:=t->1: y:=t->t: z:=t->t:
r:=t->sqrt(x(t)^ 2+y(t)^2):
phi:=t->arctan(y(t)/x(t))+(1-signum(x(t)))* Pi/2:
a:=-1: b:=1:
K:=6: for i from 1 to K do ti:=i3Pi/K:
qumian[i]:=plot3d([r(t)*cos(theta+phi(t)), r(t)*sin(theta+phi(t)), z(t)],t=a…b,theta=0…ti):
quxian[i]:=rotate(spacecurve([x(t),y(t),z(t)],t=a-0.1…b+0.1,
thickness=3,color=red),ti,[[0,0,0],[0,0,1]]) od:
M:=display(seq(qumian[i],i=1…K),insequence=true):
L:=display(seq(quxian[i],i=1…K),insequence=true):
display(L,M,orientation=[40,70],axes=normal,tickmarks=[0,0,1], lightmodel=light1, scaling=constrained);
输出动画(母线是旋转直线):
输入以下命令:
with(plots):with(plottools): x:=t->1: y:=t->t: z:=t->2* t:
r:=t->sqrt(x(t)^ 2+y(t)^2):
phi:=t->arctan(y(t)/x(t))+(1-signum(x(t)))* Pi/2:
a:=-1: b:=1:
quxian:=spacecurve([x(t),y(t),z(t)],t=a-0.1…b+0.1,color=blue,thickness=2):
qumian:=plot3d([r(t)* cos(theta+phi(t)), r(t)* sin(theta+phi(t)), z(t)],
t=a…b,theta=0…2* Pi,color=yellow):
K:=24: for i from 1 to K do ti:=i* 2*Pi/K:
L[i]:=rotate(quxian,ti,[[0,0,0],[0,0,1]]) od:
L:=display(display(seq(L[i],i=1…K),insequence=false)):
display(L,qumian,orientation=[40,70],axes=normal,tickmarks=[0,0,0],
lightmodel=light1, scaling=constrained);
输出图形(母线是旋转直线):
例 4.4.7 作出以下圆绕 z 轴旋转一周得到的旋转曲面的动画。
解 旋转曲面的参数方程为:
输入以下命令:
with(plots):with(plottools): R:=3:r:=0.8:
x:=t->R+rsin(t): y:=t->0: z:=t->rcos(t): u:=t->sqrt(x(t)^ 2+y(t)^2):
a:=0: b:=2* Pi:
K:=30: for i from 1 to K do ti:=i* 3* Pi/K:
qumian[i]:=plot3d([u(t)*cos(theta+Pi/2),u(t)*sin(theta+Pi/2),z(t)],
t=0…b,theta=0…ti,style=patch) od:
L:=display(seq(qumian[i],i=1…K),insequence=true):
display(L,L,orientation=[40,70],axes=normal,tickmarks=[1,1,1],
lightmodel=light1, scaling=constrained);
输出动画(圆环面):
输入以下命令:
with(plots):with(plottools):
R:=3:r:=0.8:
x:=t->R+rsin(t):y:=t->0:z:=t->r cos(t):
u:=t->sqrt(x(t)^ 2+y(t)^2):
a:=0: b:=2* Pi:
Muxian:=spacecurve([x(t),y(t),z(t)],t=a…b,thickness=3,color=red):
K:=60:for i from 1 to K do ti:=i* 4* Pi/K:
qumian1[i]:=plot3d([u(t)*cos(theta+Pi/2),u(t)*sin(theta+Pi/2),z(t)],t=0…b,theta=0…ti,style=patch):
muxian[i]:=rotate(Muxian,ti+Pi/2,[[0,0,0],[0,0,1]]) od:
qumian1:=display(seq(qumian1[i],i=1…K),insequence=true):
muxian:=display(seq(muxian[i],i=1…K),insequence=true):
x_axis:=plot3d([u,0,0],u=-5…5,v=0…0.01,thickness=3):
y_axis:=plot3d([0,u,0],u=-5…5,v=0…0.01,thickness=3):
z_axis:=plot3d([0,0,u],u=-2…2.5,v=0…0.01,thickness=3):
xyz:=display(x_axis,y_axis,z_axis,thickness=3):
text:=textplot3d([-3,-3,-0.2,“SCUMATH 2008”],color=grey):
display(qumian1,muxian,text,xyz,orientation=[40,70],tickmarks=[4,4,4],title=“torus”,axes=none,lightmodel=light1,scaling=constrained);
输出动画(母线为旋转小圆):
输入以下命令:
with(plots):with(plottools): rr:=1:R:=3:
x:=t->0: y:=t->R+rr* cos(t): z:=t->R+rr* sin(t):
r:=t->sqrt(x(t)^ 2+y(t)^2):
a:=0: b:=2* Pi:
quxian:=spacecurve([x(t),y(t),z(t)],t=a…b,color=blue,thickness=2):
qumian:=plot3d([r(t)* cos(theta), r(t)* sin(theta), z(t)],
t=a…b,theta=0…2* Pi,color=yellow):
K:=24: for i from 1 to K do ti:=i2Pi/K:
L[i]:=rotate(quxian,ti,[[0,0,0],[0,0,1]]) od:
L:=display(display(seq(L[i],i=1…K),insequence=false)):
display(L,qumian,orientation=[40,70],axes=normal,tickmarks=[0,0,0],
lightmodel=light1, scaling=constrained);
输出图形(母线为旋转小圆):
返回《Maple图形与动画》目录
4.4 旋转曲面的动画(2)相关推荐
- 4.4 旋转曲面的动画 (1)
坐标面上的平面曲线绕坐标轴旋转形成的旋转曲面的动画. 例 4.4.1 作出yOz坐标面上的抛物线 绕 z 轴旋转一周得到的旋转曲面的动画. 解 旋转曲面的方程是 旋转曲面的参数方程是: 下面用参数方程 ...
- matlab 旋转曲面,在matlab中实现旋转曲面的动画设计
摘要 旋转曲面是工程设计与曲面造型中最为常见的曲面之一,在现代工业中,许多产品的形状都是由旋转曲面生成,直观动态演示这些旋转曲面工件造型就显得尤为重要,特别是考古学中计算机模拟复原技术中也用到旋转曲面 ...
- 2.4 旋转曲面 (1)
旋转曲面的定义 空间一条曲线绕一直线旋转一周得到的曲面称为旋转曲面. (1) 坐标平面上一条曲线绕坐标轴旋转一周得到的旋转曲面. (i) yOz坐标面上的曲线 z=f(y) (a≤y≤b)绕 z 轴旋 ...
- 2.4 旋转曲面 (2)
空间一条曲线绕坐标轴旋转一周得到的旋转曲面. 设有一空间曲线L,其参数方程为: L 绕 z 轴旋转一周得到的旋转曲面的参数方程是: 旋转曲面作图基本格式为: x:=t->x(t): y:=t-& ...
- Android Animation (安卓动画)概念简介
Android Animation Android 四种动画分别为逐帧动画和补间动画.属性动画.过渡动画: Frame Animation (逐帧动画) 实现方式:xml 和 Java代码 图片跳转的 ...
- Android动画之帧动画和补间动画
Android系统提供三种动画:帧动画.补间动画和属性动画.这里先分析总结帧动画和补间动画. FrameAnimation 帧动画,通俗来说就是按照图片动作顺序依次播放来形成动画,创建帧动画可以用 x ...
- Android 动画 ViewPropertyAnimator 的使用
ViewPropertyAnimator 说明: ViewPropertyAnimator 可为View对象上的选择属性启用自动和优化的动画, ViewPropertyAnimator 不是由调用方构 ...
- Android ViewAnimationUtils (动画) 的使用
先看下ViewAnimationUtils 实现的几个常见的效果图如下: ViewAnimationUtils 的作用: 设置剪切圆动画的动画制作器 一般的使用如下: Animator revea ...
- Android AnimationUtils (动画)的使用
AnimationUtils 其实就是补间动画(Tween Animation) 在xml 中的写了动画java 中调用 这边打算就写一个demo 简答的记录下它的使用详细的请看 点击查看,这篇博客 ...
最新文章
- python的range()函数用法
- Hinge Loss
- SqlService 数据操作
- MIS 740: Software Concepts Use different GUI components i
- linux 性能调优
- Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-1-举例说明
- U盘恢复软件,U盘格式化后怎么恢复数据
- 分享一个好用的网页pdf打印插件
- IT之路,从迷茫“愤青”到团队项目经理,他是如何一步步走出来的?
- python中分号中没内容_被“嫌弃”的分号的一生:不要在Python中使用无用分号了...
- 嘉兴学院计算机研究生导师,延安大学—嘉兴学院联合培养硕士研究生导师见面会召开...
- 积极的心态带动积极的行为
- 再读杨绛_RWERWERWE_96921_新浪博客
- 如何改变坏习惯,形成新习惯
- plt画网格图_matplotlib子图与多种图形绘制
- 二维码怎么制作?看完这篇你就会了
- unknown mutation type:
- 日志易日志平台使用了什么开源软件
- 用友通-财务报表维护
- java 车辆限行查询功能代码