图形交互技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告撰写要求实验报告要求具有以下内容:
一、实验目的
二、实验内容与要求
三、程序中使用的函数说明
四、程序流程图
五、实验体会或对改进实验的建议
要求附程序代码(可以打印)
实验2 图形交互技术
一、实验目的
了解图形交互技术的概念,掌握windows程序设计中橡皮筋技术的实现方法。
二、实验内容及要求
1、代码实现直线橡皮筋技术。直线的橡皮筋技术是指在起点确定后,光标移动确定终点时,在屏幕上始终显示一条连接起点和光标中心的直线,这条直线随着光标中心位置的变动而变动,它就像在起点和光标中心之间紧紧的拉着一根橡皮筋一样,如下图。
仅供参考
橡皮筋技术是计算机图形系统经常应用的构造技术,通过动态来显示几何图形,最终确定几何图形的基本尺寸。橡皮筋技术常常用来构造直线段。按下定位器(如
鼠标器)的键,得到一线段的起点位置。当光标移动时,线段的终点也在移动。松开按键,这条线段就确定下来了。
在平面上确定一条直线一般是先定下起点再定下终点,最后把起点和终点连成直线。如果要求这条直线能通过平面上某一点或和一已知圆相切,上述方法便不易做得很准确。所谓橡皮筋技术就是在起点确定后,光标移出去定终点时,在屏幕上始终显示一条连接起点和光标中心的直线,这条直线随着光标中心位置的变动而变动,它就像在起点和光标中心之间紧紧地拉着一根橡皮筋,有了这根橡皮筋便比较容易地找到通过一个点或和一个圆相切的直线的位置。
橡皮筋技术实际上是简易动画的实现,它不断地进行:画-擦-画的过程。即:
(1)从起点到光标中心点(x,y)处画图;
(2)擦除起点到光标中心点(x,y)处图形;
(3)光标移动到新的位置:x=x+△x,y=y+△y
(4)转第(1)步,重复这个过程,直到按下确认键为止。
下面是实现橡皮筋技术构造直线段的VB程序:
Option Explicit
’显式声明模块中的所有变量
Dim mx As Single, my As Single, flag As Integer
’mx,my为线段的起点位置(x,y)
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
mx = X
my = Y
flag = 1
Form1.MousePointer = 2
’定义鼠标指针为十字型指针
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If flag = 1 Then
Form1.Cls
Line (mx, my)-(X, Y)
’X,Y为线段的移动光标位置(X,Y)
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
flag = 0
Form1.MousePointer = 0
End Sub
橡皮筋技术还可以应用于橡皮筋矩形、橡皮筋圆等交互技术。要实现橡皮筋技术构造矩形,只需将画线的部分改为“Line (mx, my)-(X, Y), , B”即可;要实现橡皮筋技术构造圆,只需将画线的部分改为“r = Sqr((X - mx) ^ 2 + (Y - my) ^ 2):Circle (mx, my), r”即可。
以上程序在VB 6.0运行通过。