基础函数图像的绘制 铜牌收录

本文将会介绍如何绘制出一些基础的函数图象,并对一些可能遇到的问题提供我的解决方案,绘制函数图像是一个非常复杂的话题,本文中给出的代码也只能画出基础的函数图像。

[C++14]线程池 铜牌收录

线程的创建和销毁会带来不必要的开销,本文实现一个C++14即可使用的线程池,可以像使用 std::thread 一样多线程并行,并有更多的功能

生成三角网 铜牌收录

基于逐点插入法的生成三角网,满足空圆特性,可以选择可视化,但是可视化用回车推动,因此生成随机点较少(避免回车按烂),同时查过资料确定三角网生成最外围不一定是凸包。

凸包算法可视化 铜牌收录

这个程序是实现可视化凸包算法的,帮助理解凸包算法,能够解决求一堆点所能围出的最大面积的问题。同时这个算法里判断一个点在一个向量的左边还是右边的方法对我有所启发。

2.5D 双人赛车 铜牌收录

这是一个 ”伪3D” 赛车游戏,支持双人游戏,并且还有多个预设地图可供选择,可以和伙伴开车竞速了~还可以自己绘制地图和车辆,快来试试吧!

有趣小游戏之俄罗斯方块 铜牌收录

这是我以前写的一个俄罗斯方块小游戏,里面用到的 C++ 特性并不多。游戏主要分成了两个类来实现:Game 和 Block,分别用来实现游戏逻辑和单独的俄罗斯方块,但主要的游戏逻辑放到了 main 函数中实现。这样,每个类分工明确,就实现了俄罗斯方块游戏。代码简单,里面的每个游戏逻辑都值得初学者分析和学习

橘子钟表 铜牌收录

这个橘子钟表程序主要分成三个部分:画表盘、画表针、显示当前时间。画表盘部分运用到了三次贝塞尔曲线、HSL 颜色模型以及字符串格式化命令,其中三次贝塞尔曲线确定点的坐标比较复杂。画表针主要涉及到计算各表针运动的弧度。显示当前时间所用字体为等宽字体,其作用在于居中后效果更均匀。

在 EasyX 中使用外部字体文件设置字体样式 铜牌收录

在 EasyX 输出字体的时候,要求字体在当前环境中可用,否则就无法看到字体的效果。使用系统中默认存在的字体比较简单,可以直接使用。但是如果字体是自己精心挑选的,系统中不存在,将程序发给别人以后,要求别人安装字体才能启动程序看到效果,就不太合适了。本文详细讲述在不安装字体的前提下如何通过字体文件设置字体样式。

保留透明(Alpha)信息地旋转图像 铜牌收录

EasyX 的旋转函数 rotateimage 不支持含有透明信息的图像的旋转,在设置了背景色的情况下会丢失透明信息,故特地编写了保留透明信息的旋转函数。 在此之前也有人写过此类旋转函数,旋转效果很好,也实现了目标效果,可惜存在一些致命 Bug,否则我也不会再造轮子。此旋转函数是原创的,取前人所长,去前人所短,绝对能满足您的旋转需求,让您也不必再造轮子。