PC Animation 开发手册3 动画开发接口

一、动画属性设置

   在CScence的构造函数中定义动画属性

   例如:

CScenes::CScenes(void)

{

    //画面坐标尺寸,单位是“像素点”

    m_sizeMovie=CSize(800,600);

   

    //总长度(帧数)

    m_nTotalFrame=200;

 

    //原点位置(按数学坐标,右上为正)

    m_ptOrigin.x=400;

    m_ptOrigin.y=300;

 

    //画面背景色

    m_clrBk=RGB(255,255,255);

 

}

二、动画交互参数设置

   在CScence类中添加成员变量

   在CScence的构造函数中向播放器声明需要链接那些变量。播放器将依据声明过的变量数目、属性,建立相应的按钮、输入框等。

   在CScence::DrawScence中,使用变量,依据变量的值,即使计算和绘制。

   举例:需要用户输入“起始角度”

   在CScence中增加m_fStartAngle变量

class CScenes:public CScenesBase

{


    …

    float m_fStartAngle;

};

   在CScence构造函数中向播放器开放该变量

CScenes::CScenes(void)

{

    …

    //定义参数: 变量,变量文字名称,默认值,下限值,上限值

    DefineParam(&m_fStartAngle,_T("初始夹角(π)"),0.15f,0.0f,2.0f);

   

}

   在CScence::DrawScence中使用变量值

   播放动画时,播放器会为m_ fStartAngle建立输入框,默认输入了0.15,用户可更改输入。在绘制动画时,要依据变量的数值,即时计算、绘制。

void CScenes::DrawScence(IDrawTools * pDraw,int nScence)

{

    …

    float newAngle=m_ fStartAngle+m_fWomega*(float)nScence;

    //绘制以newAngle为夹角的箭头….

 

}

三、动画的形成

   要形成动画,需要在DrawScence函数中,依据传入的nScence(帧数),自行计算、绘制相应画面。

   可以把nScence理解为时间值time,时间不同,所绘制的元素的位置不同。播放器以一定的周期调用DrawScence,而DrawScence中的代码按传输的time,重新绘制整个场景。

   DrawScence中完整描述各时刻画面,形成动画各帧。各帧画面在代码实现上,应尽量独立,避免前后依赖。(即仅有nScence和各交互参数,完整确定、绘制该帧画面,避免引用其他数据)。详见“4. 动画代码规范”。

四、绘图接口

   PC Animation 播放器提供了一个简洁的二维、三维图形绘制引擎。动画文件使用该引擎实现场景绘制。动画的实际绘制工作由绘制引擎实现,动画文件中关注的主要是场景、动画的组织。
   绘图引擎以课本线条插图为蓝本,只需要提供常见黑板手绘元素,不需要引入绘图能力更强的软件功能(如三维场景渲染)。例如:三维绘图,仅需要表达基本的三维透视关系,如下图所示:

   图1 绘图示例

   绘制接口提供的绘图功能包括以下几个方面:
   1) 当前绘图工具的选择。包括画笔、画刷、字体等等。
   2) 二维坐标系变换。
   3) 二维坐标系下基本图形的绘制。
   4) 三维坐标系变换
   5) 三维基本图像绘制
   6) 三维到二维之间的信息转换
   7) 位图操作
   8) 表达式绘制
   9) 扩展二维、三维图形的绘制
   矢量箭头、含标识的箭头、斜线标识的线段等等教学课程中常用的图形符号。

图2 物理元素示例

   绘图接口详情,请参见【PC Animation 绘图引擎

   绘图接口(绘图引擎)的定义,可查阅include目录下的Interface.h

五、位图的绘制

   可以在场景中使用小尺寸位图。

   需要将位图(.bmp)作为源码项目的资源。

   在CScence中定义CBitmap成员变量

   在CScence构造函数中加载位图资源

   在CScence::DrawScece中使用绘制位图

PC Animation 教学PPT程控动画 V2.0

特色

Program-controlled Parametric Animation For PowerPoint

一、简介

   PC Animation是一款用编程语言绘制即时动画的理工课程教学辅助软件。软件提供播放器/播放控件,可将动画嵌入到Powerpoint PPT文件中,随同PPT一并放映。

图1 嵌入PPT页面的PC Animaiton

   PC Animation 动画由编程语言实时生成,适用于理工科课程教学。生成的动画嵌入在PPT页面中,提供参数输入、分步演示、课堂设疑等高度与课堂教学设计相配合的播放方式。能以逐步展开、层层递进的方式,讲述、演示客观规律,提升理工科课程教学效果。

2 PC Animation动画示例 1)简谐振动与旋转矢量 2)垂直方向简谐振动的合成 3)麦克斯韦气体分子运动论

  参见:【PC Animation 定位、特点和优势】、【PC Animation的前世今生

二、V2.0新特性  

1. 兼容性更强

   新的文件格式,新的播放器/播放控件。适用于自Windows XP、Office 2003起至Windows 10、Office2019各版本Windows系统和Office软件。自适应高分辨率屏幕。

2. 改进了用户体验

   提供全新的Powerpoint插件,在Powerpoint中提供工具栏,简化动画文件的链接、嵌入过程。

图3 Powerpoint工具栏中的PC Animation插件

   满足用户链接其他类型媒体的需要。使用Powerpoint插件,可用更简便快捷的方法,在PPT中操作视频文件和Flash动画。

3. 动画资源更加丰富

   作者发布近十余年创作的动画文件。可直接运用于课程教学。

4. 发布动画创作模板

   PC Animation 动画,是用C编程语法调度绘图引擎实现的。动画文件中主要描述场景元素及其与时间的关系。用户只需熟悉C语言基本语法,就可开发动画文件。

三、软件用户手册

四、软件下载

   安装包包含了播放控件、独立播放器、PowerPoint工具栏插件、演示PPT及动画文件。

   32位安装包:PC Animation 2.0 setup (32bit).rar

   64位安装包:PC Animation 2.0 setup (64bit).rar

   依据Office版本(32位/64位)选择对应安装包。例如;64位Win10系统,安装了32位版的Office。应选择32位安装包。无法判断时,可同时安装两版本。

五、动画文件发布

   分课程,按章节发布动画文件。请前往各页面预览、下载。

   《电磁场与电磁波》

   《大学物理》

   章节编号依据:东南大学等七所工科院校编 (马文蔚)《物理学》第四版

   参见:【物理动画编目依据 – 马文蔚《物理学》第四版章节目录

   参见:【PC Animation用户手册2: 在PPT中链接PC Animation动画

六、开发包

   PC Animation软件提供开发模板,使用C++语言驱动绘图引擎,组织动画。动画源码经商业C++编译器编译后,生成PC Anitmaion动画文件。    

   开发包:CodeDevelop.rar

   PC Animation动画文件的开发方法,详见开发手册和技术文档。

   开发手册:

   技术文档: