RAPTOR图形与视窗交互课件_第1页
RAPTOR图形与视窗交互课件_第2页
RAPTOR图形与视窗交互课件_第3页
RAPTOR图形与视窗交互课件_第4页
RAPTOR图形与视窗交互课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章RAPTOR图形与视窗交互

《基于RAPTOR的可视化计算案例教程》第2章RAPTOR图形与视窗交互

《基于RAPTOR的可视学习目标RAPTOR环境如何绘制图形?用户如何与RAPTOR图形环境交互?学习目标RAPTOR环境如何绘制图形?RAPTOR图形窗口简介可视化计算的重要手段是使用图形来描述计算问题、求解过程和结果RAPTOR过程调用在专门的图形视窗中实现绘制矩形,圆,弧、椭圆图形和线条,并在几何形体中填充颜色,也可以在图形窗口中显示文本和数字RAPTOR图形视窗可接受用户使用鼠标与键盘与之交互,为游戏程序设计提供支持RAPTOR图形窗口简介可视化计算的重要手段是使用图形来描述图形窗口的打开与定义Open_graph_Window(X_Size,Y_Size)图形窗口的打开与定义Open_graph_Window(X_RAPTOR图形窗口和坐标表示RAPTOR图形窗口和坐标表示图形窗口的应用过程右图程序所示,图形窗口的打开和关闭通常是图形应用中的第一和最后一个调用命令图形窗口的应用过程右图程序所示,图形窗口的打开和关闭通常是图绘图过程与参数-常量绘图过程与参数-常量绘图过程与参数-变量绘图过程与参数-变量绘图过程与参数-公式绘图过程与参数-公式绘制弧线Draw_Arc(X1,Y1,X2,Y2,Startx,Starty,Endx,Endy,Color)绘制弧线Draw_Arc(X1,Y1,X2,Y2,Star绘制弧线的思考题在一些图形原稿的输入中,例如手绘的动漫原型输入到计算机中时,离不开弧线的输入,问题是在弧线输入时,如何才能获取到定位所需的8个坐标点?绘制弧线的思考题在一些图形原稿的输入中,例如手绘的动漫原型输非标区域绘制-三角形色彩填充:Flood_Fill(X,Y,Color)非标区域绘制-三角形色彩填充:Flood_Fill(X,Y,简单的图形窗口应用简单的图形窗口应用图形窗口输入主要考虑包括:如何提示用户进行输入?如何判断用户是否已经输入?采用阻塞型输入和非阻塞型输入?采用鼠标还是键盘进行输入?如果用户输入有错,例如按下非输入提示的键或者点击了输入区域以外的区域,程序是否需要进行提示?图形窗口输入主要考虑包括:名词解释阻塞型输入使用阻塞型输入命令时,将暂停程序运行,等待用户输入,直到用户输入后,程序才继续运行;非阻塞型输入使用非阻塞型输入命令可以得到有关鼠标或键盘的当前信息,但不影响执行中的程序名词解释阻塞型输入一个圆形按钮输入程序的设计一个圆形按钮输入程序的设计按钮程序:maim子图负责用户输入全局控制绘制按钮画面(creat子图)等待用户选择(Get_Mouse_Button)检测用户点击(detection子图)最后显示用户的输入结果按钮程序:maim子图负责用户输入全局控制create子图打开和定义窗口大小循环绘制4个按钮提示用户输入create子图打开和定义窗口大小Detection子图子图用循环检测点击循环包含两个过程:判断点击区域和显示点击出错子图设计中,用户如果不选中某个按钮,实际上不能退出子图Detection子图子图用循环检测点击按钮输入程序的设计优缺点+鼠标位置的计算非常关键,这里使用了圆的标准方程“(x-a)2+(y-b)2=r2”(在算法中的表达为(x-a)^2+(y-125)^2<=2500的决策语句)进行判断-执行效率较低-一旦出错,出错信息没有清除功能按钮输入程序的设计优缺点+鼠标位置的计算非常关键,这里使用了一个矩形按钮输入程序的设计一个矩形按钮输入程序的设计Main子图负责用户输入全局控制绘制按钮画面(drawbuttons子图)等待用户选择(Get_Mouse_Button)用户输入提示检测用户点击(detection子图)Main子图负责用户输入全局控制drawbuttons子图drawbuttons子图detection子图子图用分支处理点击左侧分支判断点击区域;右侧表示出错子图设计中,无论选择对错,一律退出子图detection子图子图用分支处理点击思考与实验题detection子图中的决策条件:

Y<=200为何只有一个值?*矩形按钮比圆形按钮程序在算法上有何改进?思考与实验题detection子图中的决策条件:detection子图子图用分支处理点击左侧分支判断点击区域;右侧表示出错子图设计中,无论选择对错,一律退出子图detection子图子图用分支处理点击在图形视窗中画点并自动连线设计的基本思路:手动接受用户绘制的点;按照定义,使用专门语句完成部分不规则的边连接,使用循环完成部分有规则的连接;输出所有点的位置坐标,有利于将来将点的位置保存到数组,并从数组中恢复这个图的同构图。在图形视窗中画点并自动连线设计的基本思路:Drawpoints子图(随意点击)绘图的效果Drawpoints子图(随意点击)绘图的效果Drawpoints子图两种记录圆点位置的方法,其中s字符串可以直接输出到文件中Drawpoints子图两种记录圆点位置的方法,其中s字符串图论图形中的边的绘制(一)按照预定的要求绘制无规律的两点之间的边图论图形中的边的绘制(一)按照预定的要求绘制无规律的两点之间图论图形中的边的绘制(二)使用循环方式绘制符合某种规律的边图论图形中的边的绘制(二)使用循环方式绘制符合某种规律的边一个算法的两种输出(一)可视化的结果输出形式一个算法的两种输出(一)可视化的结果输出形式一个算法的两种输出(二)主控台的字符串形式:(297,694)(627,223)(684,661)(281,234)(106,494)(823,438)Runcomplete.78symbolsevaluated.一个算法的两种输出(二)主控台的字符串形式:算法输入输出的两种形式的讨论可视化输入、输出方式:方便与问题的原型进行比对,减少输入错误,减少输入时的工作量,符合人机交互需求;字符型的输入、输出:部分图论问题可以使用字符形式进行输入、输出,但不是全部;字符形式的输出可以方便文本文件的结果保存。算法输入输出的两种形式的讨论可视化输入、输出方式:方便与问题在图形视窗中接受键盘输入在图形视窗中接受键盘输入键盘输入案例的要点点阵图像的载入图片中文字的设计无需考虑坐标问题键盘输入案例的要点点阵图像的载入键盘输入指令Get_Key_String在RAPTOR中返回字符形式的键值,例如”a”,”A”,”PageDown”键盘输入指令Get_Key_String在RAPTOR中返回键盘输入指令与程序功能调用键盘输入指令与程序功能调用RAPTOR图形与视窗交互课件有关点阵图形的应用思考题RAPTOR支持点阵图形的特点,使得许多游戏程序可以在此环境下,以可视的形式来实现。例如,石头、剪刀、布这个游戏是大家普遍熟悉的,可以实验在网上寻找该游戏的图片,剪裁后应用在自己设计的游戏程序中!有关点阵图形的应用思考题RAPTOR支持点阵图形的特点,使得在图形视窗中绘制曲线曲线绘制的主要过程:通过对话窗口输入函数的参数值在图形窗口绘制坐标与参考线在规定区间内,以Δ的增量进行计算,并使用画圆点的方式绘制曲线曲线绘制完成后,使用阻塞型输入语句“Wait_for_Kay”将绘制完成的曲线进行展示,并等待用户输入任意键结束在图形视窗中绘制曲线曲线绘制的主要过程:通过对话输入参数并打开窗口通过对话输入参数并打开窗口绘制坐标与参考线绘制坐标与参考线计算、增量和绘制考虑一下,为何

没有使用画线,而

是用画点的方式,

进行曲线的绘制绘制的曲线区间,

是从哪里到哪里?计算、增量和绘制考虑一下,为何

没有使用画线,而

是用画点的动画绘制效果的输出使用矢量方式在图形界面中绘制动画,是可视化计算中的一种重要的计算表达方式注意传统动画电影使用多帧放映,使用每一幅位图之间的差异来表现动画效果。而工程图和卡通漫画等,它们主要由线条和色块组成,用代数式来表达每个元素。然后把这些元素的代数式和它们的属性作为文件存盘,这样生成的就叫矢量图动画绘制效果的输出使用矢量方式在图形界面中绘制动画,是可视化RAPTOR的矢量动画语句Freeze_graph_Window和Update_graph_Window可用来平滑动画显示Freeze_graph_Window通过为图形对象提供特殊的屏幕缓冲区,图像的重绘数据可以直接从缓冲区读取在Freeze_graph_Window被调用语句后(Unfreeze_graph_Window调用语句前),该缓冲区保存了所有图形调用语句的绘制结果RAPTOR的矢量动画语句Freeze_graph_Wind动态图象--钟摆绘制流程图初始部分:

注意在Freeze_graph_Window之后,所有图形绘制的结果保存在缓存区动态图象--钟摆绘制流程图初始部分:

注意在Freeze_g钟摆绘制流程图Clear_windows语句擦除前一帧图像计算与图形绘制被保存在缓存Update_Graph_Windows将缓存的内容输出钟摆绘制流程图Clear_windows语句擦除前一帧图像钟摆绘制流程图钟摆绘制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论