《的图形用户界面》ppt课件

上传人:tia****nde 文档编号:67635409 上传时间:2019-01-08 格式:PPT 页数:24 大小:1,002.01KB
返回 下载 相关 举报
《的图形用户界面》ppt课件_第1页
第1页 / 共24页
《的图形用户界面》ppt课件_第2页
第2页 / 共24页
《的图形用户界面》ppt课件_第3页
第3页 / 共24页
《的图形用户界面》ppt课件_第4页
第4页 / 共24页
《的图形用户界面》ppt课件_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《《的图形用户界面》ppt课件》由会员分享,可在线阅读,更多相关《《的图形用户界面》ppt课件(24页珍藏版)》请在金锄头文库上搜索。

1、控制系统仿真 -基于MATLAB语言,主讲教师:张磊 中国海洋大学 工程学院,2019/1/8,本次课程的主要内容 1、 MATLAB的图形用户界面GUI 1.1什么是GUI? 1.2MATIAB的GUIDE开发环境 1.3回调函数及示例 2、复杂系统仿真概述 2.1复杂系统建模 2.2三维仿真软件OpenGL开发环境 2.3基于OpenGL的复杂系统仿真实例,9 MATLAB的图形用户界面GUI,1.1.什么是GUI?,主要内容: GUI开发环境 GUI界面的创建,交互组件 GUI菜单和存储 句柄图形对象-回调函数,GUI(Graphical User Interface)图形用户界面,是在

2、图形界面下安排显示与用户交互的组件元素,用户可以只通过键盘、鼠标和前台界面下的组件发生交互,而所有的计算、绘图等内部操作都封装在内部,提高了终端用户使用MATLAB程序的易用性。,9 MATLAB的图形用户界面GUI,1.2. GUIDE开发环境,MATLAB主菜单-file-new-GUI,GUIDE操作演示,9 MATLAB的图形用户界面GUI,GUI界面的创建,交互组件,1、按钮 2、海绵按钮 3、下拉菜单 4、单选按钮 5、复选框 6、文本框 7、文本标签 8、滑动条 9、下拉列表框 10、坐标轴,9 MATLAB的图形用户界面GUI,组件属性设置和排列,9 MATLAB的图形用户界面

3、GUI,GUI菜单和存储,1、页面菜单 2、右键弹出菜单,9 MATLAB的图形用户界面GUI,GUI菜单和存储,1、二进制的.fig文件,保存GUI界面的组件、菜单的相关属性 2、.m文件,保存GUI特定响应事件的函数,实际操作示例,9 MATLAB的图形用户界面GUI,1.3回调函数,9 MATLAB的图形用户界面GUI,1.3.回调函数,% - Executes on button press in togglebutton1. function togglebutton1_Callback(hObject, eventdata, handles) % hObject handle to

4、 togglebutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,Value) returns toggle state of togglebutton1 num=5;den=1,5,4,0; numa,dena=cloop(num,den); y,t = step(numa,dena) set(gcf,Curren

5、tAxes,findobj(gcf,Type,Axes) plot(y) grid,回调函数操作演示,例:,9 MATLAB的图形用户界面GUI,1、使用简易绘图函数ezsurf(绘制)3三维图形 2、使用shading实现3种绘制模式的切换(flat:片块模式,faceted:切面模式,interp:彩色模式) 3、设置绘制和清空按钮 4、设置简单菜单项完成绘制、清空和关闭命令,用户界面设计演示,9 MATLAB的图形用户界面GUI,6.句柄图形对象,1)、三种模式之间相互切换:具有排他性,2)、根据1)的模式定义设置绘图命令,3)、清空绘图区,4)、设置菜单命令,9 MATLAB的图形用户

6、界面GUI,6.句柄图形对象,set(hObject,Value,get(hObject,Max) set(findobj(gcf,Tag,radiobutton2),Value,get(findobj(gcf,Tag,radiobutton1),Min) set(findobj(gcf,Tag,radiobutton3),Value,get(findobj(gcf,Tag,radiobutton2),Min),set(hObject,Value,get(hObject,Max) set(findobj(gcf,Tag,radiobutton1),Value,get(findobj(gcf,T

7、ag,radiobutton1),Min) set(findobj(gcf,Tag,radiobutton3),Value,get(findobj(gcf,Tag,radiobutton2),Min),set(hObject,Value,get(hObject,Max) set(findobj(gcf,Tag,radiobutton1),Value,get(findobj(gcf,Tag,radiobutton1),Min) set(findobj(gcf,Tag,radiobutton2),Value,get(findobj(gcf,Tag,radiobutton2),Min),单选按钮1,

8、单选按钮2,单选按钮3,9 MATLAB的图形用户界面GUI,6.句柄图形对象,hrf=findobj(gcf,Tag,radiobutton1); hri=findobj(gcf,Tag,radiobutton2); hrc=findobj(gcf,Tag,radiobutton3); set(gcf,CurrentAxes,findobj(gcf,Type,Axes) ezsurf(peaks) if(get(hrf,Value)=get(hrf,Max) shading flat elseif(get(hri,Value)=get(hri,Max) shading faceted els

9、eif(get(hrc,Value)=get(hrc,Max) shading interp end,cla %清空绘图区,绘图按钮,清空按钮,9 MATLAB的图形用户界面GUI,6.句柄图形对象,pushbutton1_Callback,cla %清空绘图区,菜单项绘图,菜单项清空,close %清空绘图区,菜单项关闭,回调函数设置演示,10 复杂系统仿真概述,1.概述(复杂系统建模总框架),先验知识,演绎分析,模型构造,可信性分析,最终模型,目标协调,归纳程序,目的,数据,10 复杂系统仿真概述,1.概述(一般系统仿真流程),2. 三维仿真软件OpenGL开发环境,OPENGL(Open

10、 Graphics Language,开放式的图形语言) SGI公司开发的一个多用途跨平台的图形应用程序编程接口(API)可以在任意操作系统上运行。 基本特点: 工业标准,可靠性高(硬件要求低), 可扩展性(提供了较多的工具包), 方便易用(核心图形函数功能强大) 主要操作: 绘制物体,图形变换,光照处理,着色,三维图形融合, 纹理映射,动画,10 复杂系统仿真概述,2. 三维仿真软件OpenGL开发环境,INCLUDE 里包含着所有用的头文件,里面定义了我们在程序中用到的各种函数。MAIN.C 源程序是入口程序,程序从这里开始。LAYER-B 文件夹包含了描述步态与路径的源程序,MYLIB

11、中描述了我们在程序中用到的一些计算公式如计算三角形面积的公式等,POSTURE 中是有关四足位置姿态的描述,SYSTEM 中包括初始化的程序 ,10 复杂系统仿真概述,3. 基于OpenGL的复杂系统仿真实例,A.建立仿真模型 1、坐标系 2、模型尺寸 3、各关节的位置 4、比例关系 5、足先位置和关节角度的关系 . . . 设置控制页面进行交互,10 复杂系统仿真概述,10 复杂系统仿真概述,例:描绘四足机器人红色关节部分的函数 void DrawLink1(void) GLfloat mat_ambient = 0.5, 0.2, 0.2, 1.0 ; GLfloat mat_diffus

12、e = 0.5, 0.2, 0.2, 1.0 ; GLfloat mat_specular= 5.0, 1.0, 1.0, 1.0 ; GLfloat mat_shininess= 50.0 ; glPushMatrix(); glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, mat_ambient); glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, mat_diffuse); glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular); glMaterial

13、fv(GL_FRONT_AND_BACK, GL_SHININESS, mat_shininess); MySolidCylinder(SHOULDER_RADIUS, BODY_HEIGHT); 开始的四个数组建立了环境光,漫反射光和镜面光的反射值的数据, 这里的显示效果为红色。 glPushMatrix()函数的作用是让记住程序现在所在位置, 接着调用glMaterialfv()函数定义物体正反面的材质属性。 然后调用绘制圆柱体的函数MySolidCylinder()绘制该关节部分.,3. 基于OpenGL的复杂系统仿真实例,10 复杂系统仿真概述,B.程序设计及实验,3. 基于OpenGL的复杂系统仿真实例,10 复杂系统仿真概述,C.结果分析,练习1:参考课件的实例练习使用MATLAB的图形用户界面GUI 。,课堂练习,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号