我想做三国志

努力学习做游戏的小白

用相机观察线条 银牌收录

有两种投影方法,一种是平行投影,一种是透视投影。如果是平行投影观察一条线,可以直接把线条的每一个端点的位置求出来,然后判断这条线有没有某一部分出现在屏幕上再画,但是透视投影不能这么轻松地求出端点位置,因为是根据顶点距离相机的 Z 轴上的距离作为除数的,除数不能为 0 但是顶点距离相机的距离可以为 0,还有一种情况是顶点在相机背后,这距离一除朝向直接相反。为了解决这个问题,不能单纯根据顶点投影到摄像机屏幕上的坐标来画线,应该对线进行裁剪得到线在屏幕内的部分

魔尺 银牌收录

魔尺小游戏,鼠标左键拖动能观察各个角度下的魔尺,鼠标左键点击能拧动魔尺块。24块魔尺块,可以拧成一颗球。

画三角形

画三角形是实现光栅化渲染的重要部分。本文介绍了扫描线算法、线性插值、深度检测三个内容。希望能帮助到对图形学感兴趣的同学。

3D 爱心 银牌收录

李洵爱心代码是去年一个小热门,不少大佬都复现过这个代码。去年我也写了一个,但是效果不尽人意,这次总算实现了还过得去的效果。来年情人节发给爱的人,有什么能比 3D 爱心还浪漫的呢?

可视化 π 银牌收录

算法实现可视化 π,能调节精度,理论上可以计算到任意位数,精度越高计算越慢,越高的精度需要辅助判断的位数就越多,屏幕大小可以调节。动画结束后可以鼠标拖动移动地图,滚轮缩放地图。

数独 银牌收录

数独小游戏,可以自己设置要显示的数字的数量,也可以自定义数独游玩,自定义数独时可以给出当前数独的其中一个答案。

生成三角网 铜牌收录

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

凸包算法可视化 铜牌收录

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

按钮 铜牌收录

微软极简风按钮,个人设计 UI,瑕疵很多,胜在简洁方便,同时用命名空间把类和函数都封装起来,降低命名空间污染,当按钮尺寸较小而文字较多时,若按钮的 0.8 倍区域无法装下省略号的三个点则按钮变为只包含省略号三个点的按钮,若按钮 0.8 倍区域装得下两个字左右的文字则多余的文字用省略号代替,无文字时按钮可任意调节大小。

网络联机中国象棋

能够网络联机的中国象棋,提供了单机和联机两个模式,联机模式时有大厅,可以在大厅里选择一个房间进入,如果房间里有人则会亮起红色或黑色,大厅里还能显示在线人数,如果就你一个在线也可以不用浪费时间。进入房间后得等对面有人后才能准备,双方都准备好才能开始游戏,第一个进入房间的默认执红,第二个进入房间的执黑,一个房间只能进两个人。一局游戏要结束得看一方的将被吃完才能结束。由于个人对自由度比较追求,所以不必应将,也可以主动送死,当然,认输也可以进入下一局游戏。

双边滤波 铜牌收录

将高斯滤波和相似点滤波组合起来就是双边滤波,这些滤波都是为了去除噪点,因为一张图片保存的时候可能会被损坏,出现几个黑点,通过滤波可以让这些点与周围的颜色逐渐接近。

魔方 银牌收录

三维魔方,左键拖动能从不同角度观察一个魔方,右键拖动能拧动魔方。拧动的方式有三种,以 x 轴为旋转轴、以 y 轴为旋转轴、以 z 轴为旋转轴。