直线、圆、多边形这是针对09年所写计算机图形学源码重构后的版本。
新版本在实现用多种算法生成直线、圆、多边形等图形图像的同时,使用了双缓存绘图防止图像闪烁,并使用自定义结构扫描线存储所绘连块图形区域提高了二次绘图效率。
同时将所有图形图像封装成类,便于图形的重绘以及旋转、平移、缩放、对称变换等几何操作。
这是真正意义上实现了二维图层操作,而不是一个演示性的算法。
光照实验与消隐借用已有代码,因此代码变量命名风格与之前的不统一。
1
本程序实现了计算机图形学中基本图形:直线、圆、以及椭圆的绘制。
其中直线可采用DDA画线算法与Bresenham画线算法两种方法绘制;
圆采用了中点圆画线算法绘制;
椭圆采用了中点椭圆画线算法绘制。
此外还实现了对图形的平移、旋转和缩放三种基本操作。
其中缩放操作提供了普通模式与智能模式,使用后者可以消弭普通模式缩放时产生的像素稀疏以及锯齿化现象。
同时新版本对操作界面进行了改进和优化。
2018/7/3 21:48:41 280KB 中点圆 中点椭圆 DDA Bresenham
1
其中还包括圆的参数式算法和圆的隐式方程算法,但是都是1/8圆。
你们可以自行尝试修改成整圆。
可运转。
环境是vc++6.0。
请看txt必读。
谢谢
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡