迷宫怎么画|手绘简单迷宫的技巧、难迷宫和圆形迷宫的做法、各年龄段的大小参考
孩子说“给我画个迷宫”,你在方格纸上画起线来,结果不是满是死路、一眼就看出答案,就是根本走不到终点。与其想到哪里画到哪里,不如按固定的方法来做:先画出答案路线,或者从画满格子的状态一面一面拆掉墙。这样谁都能做出一定走得通的迷宫。本文介绍手绘简单迷宫的方法、用方格纸画整齐迷宫的方法、决定难度的5个因素(附用迷宫生成程序逐格统计的实测数据)、3岁到成人的大小参考、圆形迷宫和心形迷宫的做法、深度优先(挖洞法)·推倒柱子法·Prim 算法等算法的区别、右手法失效的条件,以及打印分发时的技巧。
结论:迷宫要么“先画答案路线”,要么“拆掉格子之间的墙”
自己画迷宫最常见的失败原因,是想到哪里就画到哪里地画墙。先画墙的话,很容易在不知不觉中堵住通往终点的路,或者从起点开始就是一条直路,答案一目了然。能确保做出走得通的迷宫的方法,大致有以下两种。
| 做法 | 步骤概要 | 适合场景 | 效果 |
|---|---|---|---|
| 先画答案路线 | 先从起点到终点画一条路,再从这条路上分出假的岔路,最后用墙围起来 | 白纸手绘、给幼儿的迷宫、把迷宫画进图画里 | 形状自由,但迷宫一大,岔路容易分布不均 |
| 拆掉格子之间的墙 | 从所有格子都用墙隔开的状态开始,一面一面拆掉相邻格子之间的墙,把路连起来 | 方格纸、给小学生到成人的迷宫、整齐的方形迷宫 | 每个格子都能到达,答案只有一条(完美迷宫) |
电脑自动生成迷宫,几乎都是第二种“拆墙”的思路。即使在纸上画,理解了这个思路,也就能明白“为什么这个迷宫简单”“怎样才能变难”。
手绘简单迷宫:按答案路线→岔路→墙的顺序画
在白纸上手绘时,从答案路线开始画最不容易出错。给幼儿的简单迷宫、想把迷宫画进图画里时,也用这个方法。先用铅笔打草稿,最后再用笔描墙。
- 1
画外框,定好起点和终点
在纸上画方形或圆形的外框,留出起点和终点的出入口。起点和终点尽量放在相距远的位置,比如上下两端或对角。
- 2
用铅笔轻轻画出答案路线
从起点到终点,用铅笔轻轻画一条弯弯曲曲的路。不要直奔终点,要绕到纸的边缘。这条路的长度,直接决定了迷宫的难度。
- 3
从答案路线上分出岔路
在答案路线上的几处,分出通向死路的假岔路。从假岔路上再分出岔路,走错时退回的距离会变长,迷宫就更难。
- 4
用路填满空白处
纸上如果留下一大片空白,解的人一看就知道那里不用去。要补画路,让每块空白都有某条岔路伸进去。
- 5
在路的两侧画墙
最后沿着画好的路两侧用笔画墙,再擦掉铅笔线。路宽统一的话,看起来会更像迷宫。
这个方法的要点是:假岔路也要放在“答案路线附近”和“起点旁边”。如果起点之后一个岔路都没有,孩子只要一直往前走就行,体会不到迷路的乐趣。反过来,在终点前放一条长长的死路,迷宫会让人直到最后都不敢松懈。
用方格纸画整齐的迷宫:一面一面拆墙把路连起来
想做又大又正式的迷宫,就用方格纸和“拆墙”的方法。这其实就是在纸上做电脑迷宫生成里的“挖洞法(深度优先搜索)”,虽然费时间,但死路和岔路分布均匀,做出来的迷宫很耐玩。
- 1
准备迷宫大小的格子
用1cm方格纸,A4 大约能放横18×纵25格。第一次做建议从8×8〜10×10格开始,约30分钟就能完成。先把它想成所有格子之间都有墙的状态。
- 2
从任意一格开始挖
选一个格子做记号。从这里选一个还没做记号的相邻格子,擦掉中间的墙(变成通道)走过去,并给这个格子也做记号。
- 3
一直挖到走不动为止
重复以上步骤。当上下左右的相邻格子都已经有记号、无法前进时,这里就是死路。
- 4
往回退,从还能挖的格子分出新路
沿来路一格一格往回退,退到有未做记号的相邻格子的地方,就从那里开始挖新的岔路。
- 5
所有格子都有记号就完成了
一直退回到最初的格子时,所有格子就都连起来了。在外框的上边和下边各开一个入口和出口,只用笔描出墙,就完成了。
选择方向时可以掷骰子(比如1·2=上、3·4=右……),这样不容易带上自己的习惯。人自己选的话,往往“直走”“向右”偏多,做出来的路都很相似。
按这个步骤做出来的一定是完美迷宫。因为只往没有记号的格子前进,所以不会形成环,最后所有格子都会连起来。在纸上做很花时间,想做很多张或大迷宫时,可以用迷宫生成器生成后打印,手工制作就当作“亲子一起做的游戏”来享受。
决定迷宫难度的5个因素:用实测数字比较
想让迷宫变难,大多数人首先想到的是增加格数。但即使格数相同,做法不同,难度也会差很多。决定迷宫难度的主要是以下5点。
- ①格数:要找的地方单纯变多
- ②道路弯曲度(单行道的长度):长单行道越多,走错路后越晚才发觉
- ③答案路线的长度:到终点的路越长,途中迷路的次数越多
- ④有无绕行环路:答案变成2条以上,出现扶墙走也走不通的地方
- ⑤终点的位置:终点不在外框而在内部时,很难从外面判断方向
为了确认②的影响,我们用迷宫生成器的生成逻辑,以不同的道路弯曲度各生成200个16×16格(256格)的方形迷宫,取平均值。弯曲度是“从最新挖开的格子继续往下挖(挖洞法)”的比例,0% 时每次从已挖格子中随机选一个往下挖,与 Prim 算法相同。
| 道路弯曲度 | 死路 | 岔路 | 答案路线(左上→右下) | 答案路线的拐角 | 答案路线(到最远的格子) |
|---|---|---|---|---|---|
| 0%(Prim 算法) | 71处 | 63处 | 34格(占全部的13%) | 14次 | 40格 |
| 25% | 69处 | 61处 | 38格(15%) | 18次 | — |
| 50% | 58处 | 52处 | 44格(17%) | 24次 | 57格 |
| 75% | 45处 | 41处 | 55格(21%) | 32次 | — |
| 100%(挖洞法) | 27处 | 26处 | 83格(32%) | 49次 | 126格(49%) |
弯曲度0%的迷宫有71处死路,乍一看非常复杂。但大多数死路只有1〜2格长,一眼就能看出“这里走不通”,实际解起来出乎意料地简单。答案路线也只有34格,几乎是从起点直奔终点。
反过来,100%(挖洞法)时死路减少到27处,但答案路线延长到83格,是前者的2.4倍,拐角也有49个。每条死路都很长,一旦走错,很久都发现不了。如果把终点设为“最远的格子”,答案路线是126格,约占整个迷宫的一半。人解起来觉得难的,是这一种。
加入绕行环路后答案会有2条以上,右手法则也会失效
最有名的迷宫解法,是右手(或左手)一直扶着墙往前走的“右手法则(左手法则)”。在完美迷宫中,只要起点和终点都在外框上,用右手法则一定能走到终点。因为迷宫的墙全部和外框连成一体,沿着墙走,最后一定会从外框上的终点出去。
但如果有绕行环路、而且终点在迷宫内部,终点周围的墙可能形成与外框不相连的“孤岛”,用右手法则就可能只在这个孤岛外侧一直绕圈。下面是用16×16格·弯曲度65%的迷宫各生成300个,从起点用右手法则走的结果。
| 绕行环路的量 | 终点在右下出口 | 终点在最远的格子 | 最短路线(最远的格子) |
|---|---|---|---|
| 无(完美迷宫) | 100%能到达 | 100%能到达 | 64步 |
| 少量(把12%的死路连成环) | 100%能到达 | 92%(8%会一直绕圈) | 57步 |
| 较多(把30%的死路连成环) | 100%能到达 | 82%(18%会一直绕圈) | 48步 |
另外,即使用右手法则能到达,走的距离也比最短路线长得多。在没有绕行环路、终点在右下出口的迷宫中,最短只需49步的路,用右手法则大约要走257步,因为每条死路都要进去再出来。
增加绕行环路后,答案路线反而变短(上表中64步→48步),死路也变少。即便如此还是让人觉得难,是因为很难察觉“从另一条路回到了刚才走过的地方”,结果在同一处来回打转。成人用的迷宫很推荐加环路,但给幼儿的迷宫更适合不带环路的完美迷宫。
各年龄段的迷宫大小参考:3岁从5×5格开始
迷宫的大小,与其按年龄定,不如按“能不能用铅笔在线中间走”“能不能用眼睛追着前面的路”来定更实际。下表整理了迷宫生成器的难度预设、用该设定生成的200个方形迷宫的平均值,以及 A4 每页印1题时每格的大致尺寸。
| 参考 | 格数 | 答案路线 | 死路 | A4 每页印1题时的每格大小 |
|---|---|---|---|---|
| 3〜4岁(简单) | 5×5(25格) | 约10格 | 约6处 | 约2.5cm |
| 大班〜小学一年级(普通) | 9×9(81格) | 约23格 | 约18处 | 约1.8cm |
| 小学生(难) | 16×16(256格) | 约50格 | 约50处 | 约1.1cm |
| 成人(成人用) | 30×30(900格) | 约107格 | 约144处 | 约6mm |
| 超难 | 50×50(2500格) | 约191格 | 约329处 | 约3.7mm |
- 3〜4岁:路宽在2cm以上,用蜡笔或粗铅笔也不容易出线。先用手指描,再用铅笔画,孩子会玩得更开心
- 大班〜小学一年级:拐角超过10个,也渐渐能用眼睛追着前面的路走了。附上答案页,让孩子自己对答案也不错
- 小学中年级以上:16×16格左右,能一边避开死路一边判断往哪里退。把终点设为“最远的格子”会更有挑战性
- 成人:30×30格以上。A4 每页放2题时每格只有3mm左右,大迷宫建议每页印1题
孩子中途放弃时,先别急着减少格数,可以试着降低“道路弯曲度”。答案路线会变短,更容易看清通往终点的路。如果目的是练习运笔,也可以减少格数、加粗线条,做成接近一条路的迷宫。
圆形迷宫的做法:越外圈的格子分得越细
圆形迷宫是先画几个同心圆,再用放射状的线把圈与圈之间分成“扇形的格子”。一般是从外侧入口进入,朝中心的终点前进。思路和方形迷宫一样,把相邻格子之间的墙(圆弧或放射线)一面一面拆掉,把路连起来。
手绘时最头疼的,是越往外圈格子越被拉长。如果每一圈都分成同样的数量(比如8格),靠近中心的格子很小,外圈的格子却长好几倍,路的宽窄就会参差不齐。所以,越往外,每一圈分的格数要成倍增加。
| 圈(从内往外) | 一圈的格数 | 思路 |
|---|---|---|
| 中心 | 1 | 作为终点的圆形格子 |
| 第1圈 | 6 | 把中心周围分成6份 |
| 第2圈 | 12 | 内侧1格对应2格 |
| 第3〜5圈 | 24 | 当1格的宽度超过圈宽的约2倍时,就加倍细分 |
| 第6〜11圈 | 48 | 同上 |
| 第12〜22圈 | 96 | 同上 |
迷宫生成器的圆形迷宫,也是按“1格的宽度超过圈宽约2倍就加倍细分”的规则来做的。4圈时共43格,6圈91格,10圈283格。手绘时,用圆规等间距画4〜6个圆,再用量角器把最内圈每60°分成6格,下一圈每30°分成12格,再外一圈每15°分成24格,格子的大小就基本一致了。
心形·星形·菱形迷宫的做法
心形或星形的迷宫,是把形状的轮廓叠在方格上,只使用轮廓内的格子来做。把形状外的格子当作“本来就不存在”,只在内部的格子之间拆墙,就能做出贴合形状的迷宫。
- 1
在方格纸上画出形状的轮廓
把心形或星形尽量画大。画在16×16格以上的范围内,细的部分也不容易被挤没。
- 2
选出一半以上在形状内的格子
只使用格子中心在轮廓内侧的格子。把轮廓沿格线改画成锯齿状,之后画墙时就不会犹豫。
- 3
去掉孤立的格子
在星形的尖端或心形的凹陷附近,可能会出现与其他格子不相连的1〜2个格子。把它们从迷宫中去掉。
- 4
在剩下的格子里拆墙连路
接下来和方形迷宫一样。起点放在最上面的格子,终点放在最下面的格子,就能做出从形状一端到另一端的迷宫。
画在同样16×16格的范围内时,可用的格子心形约174格、菱形约144格、星形约110格。星形的路会伸进5个尖尖的角里,所以相对于格数,死路会让人感觉更长。要放进情人节卡片或生日装饰里的话,做一个16×16格左右的心形、把线条加粗,会很可爱。
迷宫自动生成算法的区别:挖洞法(深度优先)·推倒柱子法·Prim 算法
迷宫自动生成也是很受欢迎的编程题材,有几种经典的方法。它们都能做出“走得通的迷宫”,但做出来的迷宫性格差别很大。
| 方法 | 做法 | 生成的迷宫的特点 |
|---|---|---|
| 挖洞法(深度优先搜索·递归回溯) | 从当前格子向未访问的相邻格子挖进,走不动就退回再分岔 | 长单行道蜿蜒曲折。死路少,但每条都很长。人解起来难 |
| 推倒柱子法 | 在每隔一格的格点立柱子,把柱子随机向某个方向推倒变成墙(除最上一行外不向上推倒) | 做法非常简单。但容易有偏向,迷宫往往规则、好解 |
| 延伸墙壁法 | 从外框或中途的点随机延伸墙壁,碰到已有的墙就停 | 短岔路多。要注意别让墙围成环 |
| Prim 算法 | 从已挖格子集合的“边缘”随机选1格扩展 | 会产生大量短死路。看起来复杂,解起来简单 |
| Kruskal 算法 | 按随机顺序查看墙,如果两侧还没连通就拆掉 | 接近 Prim 算法。短死路均匀分布在整体中 |
| Growing Tree 算法 | 从已挖格子的列表中选下一格。选最新的就是挖洞法,随机选就是 Prim 算法 | 按选择比例,可以自由做出介于挖洞法与 Prim 算法之间的迷宫 |
迷宫生成器使用 Growing Tree 算法,用“道路弯曲度”改变“选最新格子的比例”。100% 时与挖洞法相同,0% 时与 Prim 算法相同。两者都是生成完美迷宫的方法,所以刚生成时答案只有1条。只有指定了绕行环路时,才会把部分死路和相邻格子连起来形成环。答案路线是从起点用广度优先搜索求出的最短路线。
如果自己写程序,建议先从挖洞法开始。只需要一个格子数组和一个“记住来路的栈”,用递归写大约20行就能搞定。用递归生成大迷宫时,函数调用可能会太深,这时改成用数组来保存栈的写法即可。
怎样确认做好的迷宫走得通
手绘的迷宫,即使以为完成了,也可能有通往终点的路被堵住的情况。交给别人之前,用下面任一方法确认一下吧。
- 涂掉死路:从死路的末端开始,用铅笔把路涂黑,直到碰到岔路口。反复这样做,最后剩下的路就是答案。如果什么都没剩,说明某处被堵住了
- 用右手法则走一遍:没有绕行环路、起点和终点都在外框上的迷宫,右手扶墙走一定能到终点。到不了就说明路断了
- 请别人来解:做迷宫的人自己知道答案,很难发现疏漏
涂掉死路的方法(死路填充法)作为找答案的方法也很方便。能看到整个迷宫的纸上迷宫,用这个方法比从起点走要快得多地浮现出答案。孩子解不出来时,教他“先把死路擦掉吧”也是很有效的提示。
打印分发迷宫时的技巧
在家庭学习的练习纸、兴趣小组、课后托管、店铺儿童区等场合分发迷宫时,注意以下几点会更好用。
- 1
用100%(实际大小)打印
选“适合纸张大小”缩小打印的话,外框的线可能缺失,细墙也可能变淡。迷宫生成器的打印页面按 A4 纵向·边距10mm制作,请用100%打印。
- 2
大迷宫每页印1题
30×30格以上的迷宫每页放2题的话,每格只有3mm左右,铅笔线会把路填满。
- 3
给幼儿用的线要粗
线条加粗后,路和墙区分清楚,出线时也容易察觉。用复印机复印时,粗线也比细线更不容易变淡。
- 4
附上答案页和姓名栏
分发很多张时,有和题目顺序一致的答案页,批改会轻松很多。有姓名栏的话,收回时也知道是谁的。
- 5
做好能重新分发同一个迷宫的准备
在迷宫生成器中,编号和设定相同,随时都能生成同一个迷宫。记下网址或编号,就能给弄丢的孩子同样的迷宫。
在手机或平板上玩的话,可以用迷宫生成器的“在屏幕上玩”,用手指沿通道描着走到终点。到达终点后会显示秒数、步数和最短步数,和兄弟姐妹或朋友比赛时间也很有趣。
做迷宫时常见的失败和改法
| 常见失败 | 原因 | 改法 |
|---|---|---|
| 走不到终点 | 先画墙,结果某处把路堵住了 | 先画答案路线,或用拆墙的方法重做 |
| 答案一眼就看出来 | 起点附近没有岔路/答案路线几乎是直的 | 让答案路线绕到纸的边缘,在起点之后马上放一个岔路 |
| 死路很多却很简单 | 全是1〜2格的短死路 | 把死路加长,再从死路上分出岔路(提高弯曲度) |
| 没用到的空白很显眼 | 岔路没有铺满整张纸 | 把岔路伸进空白处,让每个地方都有路 |
| 在同一处来回打转 | 无意中做出了成环的路 | 给幼儿用的话,在环上加一面墙堵住。给成人用的话可以保留 |
| 打印出来线条缺失 | 缩小到适合纸张大小打印了 | 用100%打印。大迷宫每页印1题 |
做迷宫对出题的人来说也是很好的头脑体操。思考答案路线、考虑在哪里设陷阱,也是在练习想象解题人的心情。亲子各做一张互相交换,或者照着迷宫生成器做出的迷宫手绘一遍,也来体会一下做迷宫的乐趣吧。
常见问题
- 怎样才能简单地画出迷宫?
- 最简单的方法是先用铅笔轻轻画出从起点到终点的答案路线,再从上面分出几条通向死路的岔路,最后在路的两侧画墙。如果从墙开始画,很容易把路堵住,做成走不通的迷宫。
- 用方格纸画迷宫的步骤是什么?
- 从所有格子之间都有墙的状态开始,从任意一格出发,一边擦掉墙一边走向“还没走过的相邻格子”。走不动时沿来路退回,从还能挖的格子分出新路。所有格子都连起来后,在外框开出入口和出口就完成了。
- 做难迷宫的诀窍是什么?
- 除了增加格数,还有3点很有效:多做长单行道(加长死路)、把终点放在迷宫内部、加入少量绕行环路。以16×16格比较,长单行道迷宫的答案路线平均83格,是短岔路多的迷宫(34格)的2.4倍。
- 3岁·4岁的孩子适合多大的迷宫?
- 参考是5×5格左右、路宽2cm以上。答案路线约10格、死路5〜6处,就足够玩得开心。A4 每页只印1题、印大一些,再把线加粗,用蜡笔也不容易出线。
- 圆形迷宫怎么画?
- 用圆规等间距画同心圆,再用放射状的线把圈与圈之间分成格子。越外圈分的格子越多(中心周围6格,下一圈12格,再外一圈24格……),让格子大小一致。然后一面一面擦掉相邻格子之间的墙,把外侧入口连到中心。
- 有右手法则(左手法则)解不了的迷宫吗?
- 有。有绕行环路、终点又在迷宫内部的迷宫,扶着墙走可能会一直在同一处绕圈。在16×16格的试算中,加入较多环路并把终点放在内部时,约18%的迷宫用右手法则到不了终点。
- 挖洞法和 Prim 算法有什么区别?
- 挖洞法从当前格子尽量往远处挖,所以会做出长单行道蜿蜒曲折的迷宫。Prim 算法从已挖区域的边缘随机扩展,所以会做出有大量短死路的迷宫。人解起来,一般觉得挖洞法的迷宫更难。
- 怎样确认自己做的迷宫走得通?
- 最可靠的是从死路的末端到岔路口,用铅笔把路涂黑。反复这样做,最后剩下的路就是答案;如果什么都没剩,说明某处的路断了。
- 能免费制作并打印迷宫练习纸吗?
- 用迷宫生成器,可以免费制作方形·圆形·心形·星形·菱形的迷宫,并附答案页和姓名栏,在 A4 上一次最多打印20题。还能保存为 PNG·SVG,或在手机上用手指描着玩。
本文介绍的工具
相关文章
呼吸法怎么做|4-7-8呼吸法、箱式呼吸、共振呼吸的区别与选择
睡不着的夜晚、考试或面试之前、怎么也压不下去的烦躁。别人总说“深呼吸一下”,可到底该吸几秒、呼几秒,又该选哪种呼吸法,其实很少有人说得清。本文以每分钟呼吸次数和“呼气÷吸气”的比例为标准,比较并讲解5种常见呼吸法(4-7-8呼吸法、箱式呼吸、共振呼吸、生理性叹息、腹式呼吸)的秒数与做法。同时整理了呼吸为什么能让人平静下来的原理、睡前、紧张、烦躁等不同场景该怎么选、感到难受时如何调整、安静时呼吸频率的测量方法,以及不适合做呼吸练习的场合。
阅读文章 →全银格式是什么?日本综合转账·工资转账数据的制作方法与 120 字节布局
在日本,公司通过网上银行一次性发起几十笔转账时,银行常会要求“请导入全银格式的文件”。全银格式是日本全国银行协会(全银协)规定的转账数据写法:每行固定 120 字节的定长文本,由表头·数据·尾部·结束四种记录组成。本文按实际工作中容易卡住的顺序,介绍综合转账·工资转账·奖金转账的区别,各记录的项目和位数(第几字节写什么),把收款人名改成半角片假名的规则和「カ)」「(カ」法人略称,邮储银行记号番号的换算,用 Excel·CSV 制作的步骤,以及导入出错的原因和修改方法。
阅读文章 →抽卡概率的计算方法|多少抽能出?保底·歪卡·满命的期望值
以为“出货率 1%,100 抽总该出了”,结果就是没出。这并不是特别倒霉:1% 抽 100 次至少出 1 个的概率本来就只有约 63%。本文用实际算出的数字,整理了“抽 n 次能出的概率”的公式、出货率×抽数速查表、一半的人和 10 人中 9 人出货所需的抽数、有保底和歪卡(大保底)时的平均与最坏抽数、保底计数的继承、满命(7 个)所需的抽数,以及随机吧唧·卡牌集齐全套要买几个。
阅读文章 →