七彩连珠益智小游戏 2023-5-16 古风 (2) 还记得当年经典的 winlinez 小游戏吗?没错,它的规则很简单:通过移动彩球,使相同颜色的彩球以横、竖、斜的方式连成一条线,达到五个或者以上便可自动消除,每移动一次如果没有彩球消除则会自动增加三个彩球,随机分布在棋盘上。 所以,你要做的就是尽可能的减少消除小球所移动次数,策略第一。[查看全文]
用相机观察线条 2023-5-7 无语 (0) 有两种投影方法,一种是平行投影,一种是透视投影。如果是平行投影观察一条线,可以直接把线条的每一个端点的位置求出来,然后判断这条线有没有某一部分出现在屏幕上再画,但是透视投影不能这么轻松地求出端点位置,因为是根据顶点距离相机的 Z 轴上的距离作为除数的,除数不能为 0 但是顶点距离相机的距离可以为 0,还有一种情况是顶点在相机背后,这距离一除朝向直接相反。为了解决这个问题,不能单纯根据顶点投影到摄像机屏幕上的坐标来画线,应该对线进行裁剪得到线在屏幕内的部分[查看全文]
3D 爱心 2023-3-22 无语 (3) 李洵爱心代码是去年一个小热门,不少大佬都复现过这个代码。去年我也写了一个,但是效果不尽人意,这次总算实现了还过得去的效果。来年情人节发给爱的人,有什么能比 3D 爱心还浪漫的呢?[查看全文]
实现光栅化渲染 3D 球,平面着色 2023-3-2 无语 (0) 光栅化渲染的 hello world 级别的程序。简述了光栅化渲染的概念和管线渲染的步骤,介绍了球面三角网生成方法,实现了渲染一颗 3D 球的功能。[查看全文]
伴随角色的移动,地图自动扩大的实现 2023-2-24 无语 (1) 实现边走地图边扩大的效果,将绘画操作作用在 IMAGE 上,再用 winapi 的缩放算法来缩放图片贴到屏幕上,能操作远大于屏幕像素的像素值,方便增加清晰度。[查看全文]
可视化 π 2023-2-22 无语 (0) 算法实现可视化 π,能调节精度,理论上可以计算到任意位数,精度越高计算越慢,越高的精度需要辅助判断的位数就越多,屏幕大小可以调节。动画结束后可以鼠标拖动移动地图,滚轮缩放地图。[查看全文]
游戏中二维碰撞反弹算法分析与实现 2023-2-4 huidong (0) 这篇文章主要是来分析一下在游戏中,如何处理二维碰撞问题(主要是圆和矩形的碰撞问题),以及如何处理在实际项目遇到的一些问题。[查看全文]
支持鼠标交互的多行文本框(含语法高亮) 2022-10-15 huidong (13) 之前一直想自绘一个输入框,终于在国庆最后一天把它写了,一写完就赶去学校了…… 今天总算回来,和大家分享一下。 这个输入框相当简陋,其实只是为了用于实现我的一些想法。[查看全文]
HiEasyX——窗口、绘图、UI 的全面升级 2022-8-15 huidong (22) HiEasyX 支持创建多绘图窗口,拥有相对完善的控件库,支持透明通道,封装了画布、图层和场景。HiEasyX 只有一个目的——让 EasyX 更易用。[查看全文]
粒子系统 (Particle System) 2022-8-2 MoOtA (2) 基于 EasyX 的简单粒子系统,主要用于了解和学习相关概念及算法。 随着萌新的学习,系统在不断的改进和完善中,可以先了解使用一下 +_+ ! 存在不足或错误之处,欢迎大家一起交流讨论。[查看全文]
使用 EasyX 实现的学生成绩管理系统 2022-7-22 Qt小徐 (8) 这是一个使用 C++ 和 EasyX 绘图库实现的学生成绩管理系统,里面包含了查看学生、搜索学生、添加学生等操作。简单地封装了一下界面,使得程序可以添加按钮、表格等控件,在细节方面处理得也比较到位。代码中运用到了一些类、继承、多态等面向对象特性,值得初学者学习。[查看全文]