![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机图形学
文章平均质量分 70
Timer95
闲来看花,没事喝茶。有时翻书,无聊吃瓜。
展开
-
【计算机图形学】实验汇总 | OpenGL+鼠标交互
文章目录前言实验汇总1.三种绘制直线的算法2.两种绘制圆的算法3. 绘制椭圆的中点算法(两种)4.多边形种子填充算法5.扫描线多边形填充算法6.Cohen-Sutherland 直线裁剪算法7.SutherlandHodgmanClip 多边形裁剪算法及其改进前言以下是这段时间所有的计算机图形学实验,做了整理和汇总。方便自己再次查看,也希望能给别人提供一点思路。都贴上了完整代码,代码里也有详细的注释,但是并没有写算法的具体思路,可能其中有一些提及了我在做实验时参考的别人的思路另外需要说明的是,里面的原创 2021-10-21 23:59:02 · 5879 阅读 · 1 评论 -
【计算机图形学 】多边形种子填充算法 | OpenGL+鼠标交互
文章目录前言步骤1.点的结构体2.确定线的颜色3.设计画点函数(用于填充颜色的点)4.判断是否为边界的函数5. 扫描线算法实现用队列`queue`实现的 4连通区域的填充算法用栈实现的 扫描线形式的填充算法6. 鼠标响应事件完整代码前言实现多边形种子填充算法,分为四连通填充和扫描线填充,(分别由队列和栈实现的)并和鼠标进行交互。具体原理略过,最后会贴上完整代码,可直接运行。环境:vs2019,OpenGL的库(可以搜索如何用vs使用OpenGL的库,可以使用vs自带的插件或者其他方法,很方便)要原创 2021-10-21 23:22:35 · 4454 阅读 · 0 评论 -
【计算机图形学 】SutherlandHodgmanClip 多边形裁剪算法及其改进 | OpenGL+鼠标交互
文章目录前言改进前(SutherlandHodgmanClip 多边形裁剪算法)1.新建结构体:点,线,裁剪窗口2.用于画点和画裁剪窗口的函数3.创建裁剪窗口的四条边4.判断点的位置5.求直线与边界的交点6.SutherlandHodgmanClip 多边形裁剪算法7.鼠标响应事件8.键盘响应事件完整代码改进后改进思路1.新增的数组2.新增的画线函数3.bresenham画线算法4.改变的键盘响应事件完整代码总结前言利用SutherlandHodgmanClip 多边形裁剪算法,实现多边形的裁剪,并和鼠原创 2021-10-21 00:53:17 · 5639 阅读 · 1 评论 -
【计算机图形学 】Cohen-Sutherland 直线裁剪算法 | OpenGL+鼠标交互
文章目录前言代码借鉴步骤1.点的结构体2. 创建用于裁剪的窗口并绘制3.画点函数4. Cohen-Sutherland 直线裁剪算法部分4.1 判断点所在位置,生成编号4.2 根据点所在位置相应地改变坐标4.3 裁剪直线4.4 绘制直线5.改变鼠标响应函数完整代码前言实现Cohen-Sutherland 直线裁剪算法,并和鼠标进行交互。具体原理略过,会贴上完整代码,可直接运行。环境:vs2019,OpenGL的库(可以搜索如何用vs使用OpenGL的库,可以使用vs自带的插件或者其他方法,很方便)原创 2021-10-19 00:36:57 · 4412 阅读 · 3 评论 -
【计算机图形学 】扫描线多边形填充算法 | OpenGL+鼠标交互
文章目录前言思路借鉴步骤1.点的结构体2. AET 活性边表、NET新边表 的结构体3. 扫描线算法实现4. 改变鼠标响应函数完整代码总结前言实现多边形扫描线填充算法,并和鼠标进行交互。具体原理略过,会贴上完整代码,可直接运行。环境:vs2019,OpenGL的库(可以搜索如何用vs使用OpenGL的库,可以使用vs自带的插件或者其他方法,很方便)要点:1.NET和AET的创建,改动2.改变鼠标点击和鼠标拖拽的响应事件。最终效果:用鼠标随意画顶点,然后展示填充过程对应控制台会输出顶点坐原创 2021-10-16 18:17:57 · 8724 阅读 · 5 评论 -
使用vs写OpenGL的代码时遇到的报错
记录一下使用vs写OpenGL的代码时遇到的报错:问题:error:The following is a new check for GLUT 3.0; update your code.查了很久发现可能是这个原因传送门没有写窗口的回调函数解决方法:自己写上回调函数glutDisplayFunc(&display);其中的display就是自己写的调用的函数,举个栗子:glutDisplayFunc(DrawOval);//绘制回调函数,glut机制,它觉得需要重新绘制的时候就会原创 2021-10-14 16:16:06 · 588 阅读 · 0 评论 -
【计算机图形学 】绘制椭圆 | OpenGL+鼠标交互
文章目录前言1.辅助画椭圆算法2.椭圆的中点算法(两种)3.改变鼠标动作响应函数4. 完整代码5. 总结前言实现绘制椭圆的中点算法,并和鼠标进行交互。具体原理略过,会贴上完整代码,可直接运行。使用材料:vs2019,OpenGL的库(可以搜索如何用vs使用OpenGL的库,可以使用vs自带的插件或者其他方法,很方便)要点:1.设计画椭圆的算法。设置椭圆中心和长短半轴的全局变量,通过鼠标得到全局变量的值,再传入函数,进行椭圆的绘制。2.改变鼠标点击和鼠标拖拽的响应事件。最终效果:用鼠标在界原创 2021-09-27 20:01:59 · 3888 阅读 · 0 评论 -
【计算机图形学 】绘制圆 | OpenGL+鼠标交互
计算机图形学实验一@TOC实现绘制圆的中点算法和Bresenham算法,并和鼠标进行交互。具体原理略过,会贴上完整代码,可直接运行。使用材料:vs2019,OpenGL的库(可以搜索如何用vs使用OpenGL的库,可以使用vs自带的插件或者其他方法,很方便)要点:1.设计画圆的算法。会设置圆心和半径的全局变量,通过鼠标点击得到两个点,第一个点为圆心,两点之间的距离为半径,再传入函数,进行圆的绘制。2.改变鼠标点击和鼠标拖拽的响应事件。最终效果:用鼠标在界面上拖拽,就会生成一个圆1.辅助画原创 2021-09-27 17:24:50 · 6248 阅读 · 0 评论 -
【计算机图形学 】绘制直线 | OpenGL+鼠标交互
计算机图形学实验一用 DDA、Bresenham、中点画线法 三种方法实现直线绘制,并和鼠标点击事件进行交互。在网上看了很久,有很多方法,最终选定了OpenGL,感觉最为简单。具体原理就不介绍了,会贴上完整代码,可以直接运行。使用材料:vs2019,OpenGL的库(可以搜索如何用vs使用OpenGL的库,可以使用vs自带的插件或者其他方法,很方便)要点:1.设计画直线的算法。会设置起点和终点的全局变量,通过鼠标点击得到起点和终点的值,再传入函数,进行直线绘制。2.改变鼠标点击和鼠标拖拽的响应原创 2021-09-27 17:04:32 · 8071 阅读 · 1 评论