柏林噪声(Perlin Noise)示例程序

三角网是由一系列连续三角形构成的网状的平面控制图形,是三角测量中布设连续三角形的两种主要扩展形式,同时向各方向扩展而构成网状,优点为点位分布均匀、各点之间互相牵制、图形强度较高,缺点是扩展较缓慢。
三角网是实现地形三维可视化,数字地面模型(Digital Terrain Model,简称 DTM)是一种很有效的途径。DTM 主要是由栅格和不规则三角网(Triangulated Irregular Network,简称 TIN )两种数据格式来表示,相比于栅格 TIN 具有许多优点,几乎能适用于任何复杂的地形,所以 TIN 是 DTM 常采用的一种格式。
这不是一个游戏,而是算法分享和算法演示。
通过简单绘图,使得算法的执行过程可视化。
包含两个文件:头文件 MazeAlgorithm.h 和 源文件 main.cpp。
main.cpp 给出基本控制和简单文字按钮。
MazeAlgorithm.h 给出算法的实现和演示绘图,包含算法如下:
① DFS(即深度优先)递归和非递归版本。
② 十字分割 递归和非递归版本。
③ 随机 Prim。
① DFS(分为随机方向 和 指定优先遍历方向,是同一个接口)。
② A* 寻路。
这对于初学者而言或有难度,而且许多教程只是给出简陋的文字描述,很难上手代码。
若以后有时间,我尽量去完成一篇迷宫算法的博客,然后回头补链接。
以下对这些算法给出简单说明(注:这不足以让你深刻理解算法原理
...数独(shù dú)是源自 18 世纪瑞士的一种数学游戏。是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据 9×9 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含 1-9,不重复 。
数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。
首先,肯定是画九宫格,做好这个程序的界面。然后给这个界面的相应位置赋予对应相应的数,用鼠标给这个数独九宫格进行填数。当然做好前面的这些只是表面的,最主要的是如何用电脑来解这个数独呢?我一直在思考,程序其实就是一个工具,而我们就是要学会应用这个工具去做一些我们很难做到的事,编写程序就是一个解决问题的好办法。我记得我曾经花了一周的时间去解一个数独,虽然数独最终解出来了,但假如我又遇到别的数独呢?这就是我们需去考虑的问题。我们不是为了去解决一个数独,
...