计算机图形学 利用鼠标实现橡皮筋技术

  • 实验目的

1.理解橡皮筋技术的原理,掌握其在计算机图形学中的应用场景。

2.学会在 OpenGL 中结合鼠标事件(点击、移动)实现交互式图形绘制。

3.掌握双缓存技术在 OpenGL 中的应用,理解其对动态图形绘制的优化作用。

4.熟悉 GLUT 库中鼠标回调函数、窗口整形函数的使用方法。

  • 实验内容

通过 OpenGL 和 GLUT 库,实现橡皮筋直线绘制:

1.鼠标左键点击确定直线起点,移动鼠标时动态更新直线终点(形成 "橡皮筋" 效果),再次左键点击确定直线终点。

2.鼠标右键点击清空已绘制直线,可重新绘制。

3.利用双缓存技术避免图形闪烁,保证绘制过程流畅。

  • 实验代码
  • 实验结果

1.程序启动:弹出标题为 "橡皮筋技术实验" 的窗口,背景为白色。

2.绘制直线:

左键单击窗口任意位置,确定直线起点;

移动鼠标,直线终点随鼠标动态变化("橡皮筋" 效果);

再次左键单击,确定直线终点,直线固定。

3.清空直线:右键单击窗口,已绘制直线清空,可重新绘制。

4.窗口缩放:调整窗口大小后,直线会随窗口比例自适应缩放,显示正常

五、实验心得

本次橡皮筋技术实验,让我对交互式图形绘制有了切实认识。通过GLUT库的鼠标事件回调,实现了点击确定起点、移动更新终点、再点击固定直线的逻辑,直观感受了"橡皮筋"动态效果的原理------依赖实时坐标更新与重绘机制。双缓存技术有效解决了图形闪烁问题,让我体会到硬件缓冲对视觉体验的重要性。坐标转换的细节处理也很关键,修正y轴方向后,图形显示才符合预期。这次实验加深了我对事件驱动编程的理解,为后续复杂图形交互开发打下基础。

相关推荐
禾川兴科技13 小时前
支持的switch2的便携屏方案,LDR6021QPD协议芯片加MT9700FFFUBG显示器驱动芯片
计算机外设
●VON14 小时前
鸿蒙 PC Markdown 编辑器快速打开:模糊排序、最近权重与纯键盘路径
华为·编辑器·计算机外设·harmonyos·鸿蒙
编程圈子4 天前
操作系统学习14 IDT + PIC + 键盘中断
android·学习·计算机外设
Saniffer_SH5 天前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
遇见小修修5 天前
⚠键盘失灵?5 步自查,不用花钱换新键盘
运维·服务器·数据库·计算机外设·电脑·负载均衡
unityのkiven6 天前
Unity UGUI 中 EventTrigger 导致 ScrollRect 鼠标滚轮失效的问题分析与解决
unity·计算机外设·游戏引擎
解局易否结局7 天前
鸿蒙 PC 应用开发实战:多显示器、显示密度与跨屏适配
华为·计算机外设·harmonyos
FrameNotWork7 天前
HarmonyOS 6.0 输入法与键盘避让 — 聊天页面底部输入栏被键盘挡住的绝望
华为·计算机外设·harmonyos
线束线缆组件品替网7 天前
Amphenol ICC RJE1Y22610C42401线束组件应用解析
网络·数码相机·智能手机·计算机外设·电脑·电视盒子
q***o698 天前
从黑光视觉到高算力SoC:爱芯元智边缘计算芯片矩阵全景
计算机外设