科学风景真好分享 http://blog.sciencenet.cn/u/sunbing01

博文

刘瑞祥:如何在PowerPoint放映时控制3D模型运动?

已有 2410 次阅读 2022-1-16 13:57 |个人分类:编程|系统分类:科普集锦

  大家知道,从Office365和2019版开始,Office已经可以插入3D模型了,虽然Word和Excel也能插入3D模型,但对于一般人来说,这个功能还是对PowerPoint更有意义。但是幻灯片放映的时候又不能随心所欲地进行控制,怎么办呢?可以用以下两种方法:


一、利用平滑动画

  1.在某一页中插入3D对象,并在放映前将其旋转到合适角度;

  2.将这一页复制成紧跟着它的后一页,并把其中的3D对象调整到需要的角度;

  3.将第二页设为平滑动画。

01.png

如图,幻灯片里的3D对象只有旋转角度不同

  然后放映即可。

  这个方法使用起来虽然简单,却有个大问题,那就是无法实现随心所欲地旋转。如果在放映的时候也能像在设计时那样,通过鼠标来转动模型就好了。可惜目前我还没有找到那么好的方法,但是我们可以退而求其次,在放映时通过单击按钮进行旋转。


二、利用VBA编程

  1.进入编程环境并新建立一个模块,写下这样一段程序:

Public Sub rX()

       ActivePresentation.Slides(1).Shapes(1). _

          Model3D.IncrementRotationX 5

End Sub

  这里其实只有一行程序执行我们的功能,但这行程序太长,所以在末尾增加一个半角空格和下划线,然后把后面的部分写在第二行。

  下面说一下程序的意义:

  ActivePresentation表示我们打开的幻灯片;

  Slides(1)是指第一页幻灯片,如果3D模型不是放在第一页,那要修改括号里的数字;

  Shapes(1)表示这个页面里的第一个形状,如果我们要控制的3D模型编号不是1,也要改变这个括号里的数字(假设你在某一页上已经有了n个元素,这时再增加的3D模型序号就是(n+1),你当然要在写完代码后试着执行一下,如果报错,或者旋转的不是你要控制的对象,那就说明序号错了,然后试着改一下。);

  Model3D.IncrementRotationX 5这一部分表示对它绕X轴旋转5度。

  2.再在放有3D模型的页码里放个矩形文本框,文字可以是X+,选中这个文本框后单击“插入”选项卡中的“动作”,打开对话框。

02.png

  3.对照下图,单击运行宏,现在我们只有一段程序,所以下拉框里就只有这一段程序的名字,选中后单击“确定”就可以了。在放映的时候单击这个矩形文本框,看看效果吧。

03.png

  好,以上我们写了一段程序,你当然还希望写出控制模型绕Y轴和Z轴旋转的程序,以及控制它反向旋转的程序,那就再添加一些新的程序吧,注意要改变以下几点:

  首先,每段程序的名字都不能相同;

  其次是绕Y轴旋转要用到IncrementRotationY(只要变化最后一个字母就行),逆向旋转只要把数字5改成-5就行。如果你觉得一次转5度不太合适,也可以把数字变得更大或者更小。最后,写完了程序之后不要忘记添加新的按钮并给按钮配上相应的“动作”。


  最后,请大家思考一个问题:我们知道有限大小的角位移不是矢量(不满足交换律),请大家用本文介绍的两种方法演示这个结论。




https://blog.sciencenet.cn/blog-3388899-1321304.html

上一篇:刘瑞祥:春节快到了,又到了包饺子的时候
下一篇:刘瑞祥:本人在数学公众号上发表的文章(101-120)
收藏 IP: 221.197.56.*| 热度|

2 尤明庆 罗春元

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2022-8-9 15:01

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部