feat: 增加找字模板

This commit is contained in:
R524809
2025-11-20 17:35:37 +08:00
parent 2e0f8f0fe1
commit 654ea69915
11 changed files with 1061 additions and 532 deletions
+223
View File
@@ -0,0 +1,223 @@
export const POSITION_TEMPLATES: Array<Array<{ x: number; y: number }>> = [
// 模板1:椭圆形分布-上下更密集 28个位置,相邻间距约100-150px
[
// 0-14号位置
{ x: -600, y: 0 }, // 0 - 左侧
{ x: -440, y: -240 }, // 1
{ x: -580, y: -430 }, // 2
{ x: -340, y: -600 }, // 3
{ x: -330, y: -880 }, // 4
{ x: -560, y: -780 }, // 5
{ x: -50, y: -890 }, // 6
{ x: -80, y: -670 }, // 7 - 上方
{ x: 180, y: -880 }, // 8
{ x: 200, y: -620 }, // 9
{ x: 440, y: -850 }, // 10
{ x: 600, y: -620 }, // 11
{ x: 420, y: -460 }, // 12
{ x: 500, y: -220 }, // 13
{ x: 600, y: 0 }, // 14 - 右侧
// 15-28号位置:基于0-14号位置以x轴为镜像轴生成(y坐标取反,x坐标不变)
{ x: 600, y: 0 }, // 15 - 14的镜像
{ x: 500, y: 220 }, // 16 - 13的镜像
{ x: 420, y: 460 }, // 17 - 12的镜像
{ x: 600, y: 620 }, // 18 - 11的镜像
{ x: 440, y: 850 }, // 19 - 10的镜像
{ x: 200, y: 620 }, // 20 - 9的镜像
{ x: 180, y: 880 }, // 21 - 8的镜像
{ x: -80, y: 670 }, // 22 - 7的镜像
{ x: -50, y: 890 }, // 23 - 6的镜像
{ x: -560, y: 780 }, // 24 - 5的镜像
{ x: -330, y: 880 }, // 25 - 4的镜像
{ x: -340, y: 600 }, // 26 - 3的镜像
{ x: -580, y: 430 }, // 27 - 2的镜像
{ x: -440, y: 240 }, // 28 - 1的镜像
],
// 模板2:基于模板1,在上下各增加一个坐标系,并适度调整原始位置
[
{ x: -620, y: 0 }, // 0 - 左侧(向外扩展)
{ x: -420, y: -200 }, // 1
{ x: -640, y: -350 }, // 2
{ x: -400, y: -480 }, // 3
{ x: -600, y: -600 }, // 4
{ x: -420, y: -740 }, // 5
{ x: -280, y: -910 }, // 6
{ x: -200, y: -680 }, // 7
{ x: -60, y: -890 }, // 8
{ x: -10, y: -660 }, // 9 - 上方
{ x: 180, y: -890 }, // 10
{ x: 200, y: -630 }, // 11
{ x: 400, y: -800 }, // 12
{ x: 590, y: -660 }, // 13
{ x: 410, y: -440 }, // 14
{ x: 680, y: -420 }, // 15
{ x: 570, y: -210 }, // 16
{ x: 670, y: 0 }, // 17 - 右侧
// 18-35号位置:基于0-17号位置以x轴为镜像轴生成(y坐标取反,x坐标不变)
{ x: 570, y: 210 }, // 18 - 16的镜像
{ x: 680, y: 420 }, // 19 - 15的镜像
{ x: 410, y: 440 }, // 20 - 14的镜像
{ x: 590, y: 660 }, // 21 - 13的镜像
{ x: 400, y: 800 }, // 22 - 12的镜像
{ x: 200, y: 630 }, // 23 - 11的镜像
{ x: 180, y: 890 }, // 24 - 10的镜像
{ x: -10, y: 660 }, // 25 - 9的镜像
{ x: -60, y: 890 }, // 26 - 8的镜像
{ x: -200, y: 680 }, // 27 - 7的镜像
{ x: -300, y: 930 }, // 28 - 6的镜像
{ x: -440, y: 780 }, // 29 - 5的镜像
{ x: -600, y: 600 }, // 30 - 4的镜像
{ x: -400, y: 480 }, // 31 - 3的镜像
{ x: -640, y: 350 }, // 32 - 2的镜像
{ x: -420, y: 200 }, // 33 - 1的镜像
],
// 模板3
[
// 0-15号位置
{ x: -660, y: -100 }, // 0 - 左侧
{ x: -500, y: -280 }, // 1
{ x: -660, y: -480 }, // 2
{ x: -660, y: -720 }, // 3
{ x: -440, y: -920 }, // 4
{ x: -250, y: -720 }, // 5
{ x: -380, y: -480 }, // 6 - 上方
{ x: -140, y: -480 }, // 7
{ x: 90, y: -480 }, // 8
{ x: 340, y: -480 }, // 9
{ x: 250, y: -720 }, // 10
{ x: 440, y: -920 }, // 11
{ x: 660, y: -720 }, // 12
{ x: 660, y: -480 }, // 13
{ x: 500, y: -280 }, // 14
{ x: 660, y: -100 }, // 15 - 右侧
// 16-32号位置:基于0-15号位置以x轴为镜像轴生成(y坐标取反,x坐标不变)
{ x: 660, y: 120 }, // 16 - 15的镜像
{ x: 500, y: 300 }, // 17 - 14的镜像
{ x: 680, y: 480 }, // 18 - 13的镜像
{ x: 680, y: 720 }, // 19 - 12的镜像
{ x: 500, y: 920 }, // 20 - 11的镜像
{ x: 250, y: 720 }, // 21 - 10的镜像
{ x: 340, y: 480 }, // 22 - 9的镜像
{ x: 90, y: 480 }, // 23 - 8的镜像
{ x: -140, y: 480 }, // 24 - 7的镜像
{ x: -380, y: 480 }, // 25 - 6的镜像
{ x: -250, y: 720 }, // 26 - 5的镜像
{ x: -500, y: 920 }, // 27 - 4的镜像
{ x: -660, y: 720 }, // 28 - 3的镜像
{ x: -680, y: 480 }, // 29 - 2的镜像
{ x: -500, y: 300 }, // 30 - 1的镜像
{ x: -660, y: 120 }, // 31 - 0的镜像
],
// 模板4:三角形和梯形
[
// 0-5号位置
{ x: -350, y: 0 }, // 0 - 顶点(不变)
{ x: -500, y: 150 }, // 1 - 左侧上方45度
{ x: -650, y: 300 }, // 2 - 左侧上方45度(更远)
{ x: -500, y: -150 }, // 3 - 左侧下方45度
{ x: -650, y: -300 }, // 4 - 左侧下方45度(更远)
{ x: -650, y: 0 }, // 5 - Y=0X和2、4相同
// 6-11号位置
{ x: 350, y: 0 }, // 6 - 顶点(不变)
{ x: 500, y: 150 }, // 7 - 右侧上方45度
{ x: 650, y: 300 }, // 8 - 右侧上方45度(更远)
{ x: 500, y: -150 }, // 9 - 右侧下方45度
{ x: 650, y: -300 }, // 10 - 右侧下方45度(更远)
{ x: 650, y: 0 }, // 11 - Y=0X和8、10相同
// 倒着的梯形
{ x: -440, y: -790 }, // 12
{ x: -320, y: -570 }, // 13
{ x: -200, y: -350 }, // 14
{ x: 0, y: -350 }, // 15
{ x: 200, y: -350 }, // 16
{ x: 320, y: -570 }, // 17
{ x: 440, y: -790 }, // 18
{ x: -150, y: -790 }, // 19
{ x: 150, y: -790 }, // 20
// 正着的梯形
{ x: -440, y: 790 }, // 21
{ x: -320, y: 570 }, // 22
{ x: -200, y: 350 }, // 23
{ x: 0, y: 350 }, // 24
{ x: 200, y: 350 }, // 25
{ x: 320, y: 570 }, // 26
{ x: 440, y: 790 }, // 27
{ x: 150, y: 790 }, // 28
{ x: -150, y: 790 }, // 29
],
// 模板54个正方形
[
// 0-7号位置
{ x: -250, y: -250 }, // 0
{ x: -250, y: -500 }, // 1
{ x: -250, y: -750 }, // 2
{ x: -500, y: -750 }, // 3
{ x: -750, y: -750 }, // 4
{ x: -750, y: -500 }, // 5
{ x: -750, y: -250 }, // 6
{ x: -500, y: -250 }, // 7
// 8-15号位置
{ x: 250, y: -250 }, // 8
{ x: 250, y: -500 }, // 9
{ x: 250, y: -750 }, // 10
{ x: 500, y: -750 }, // 11
{ x: 750, y: -750 }, // 12
{ x: 750, y: -500 }, // 13
{ x: 750, y: -250 }, // 14
{ x: 500, y: -250 }, // 15
// 16-23号位置
{ x: -250, y: 250 }, // 16
{ x: -250, y: 500 }, // 17
{ x: -250, y: 750 }, // 18
{ x: -500, y: 750 }, // 19
{ x: -750, y: 750 }, // 20
{ x: -750, y: 500 }, // 21
{ x: -750, y: 250 }, // 22
{ x: -500, y: 250 }, // 23
// 24-31号位置
{ x: 250, y: 250 }, // 24
{ x: 250, y: 500 }, // 25
{ x: 250, y: 750 }, // 26
{ x: 500, y: 750 }, // 27
{ x: 750, y: 750 }, // 28
{ x: 750, y: 500 }, // 29
{ x: 750, y: 250 }, // 30
{ x: 500, y: 250 }, // 31
],
// 模板64个十字形
[
// 0-4号位置
{ x: -500, y: -500 }, // 0
{ x: -250, y: -500 }, // 1
{ x: -500, y: -750 }, // 2
{ x: -750, y: -500 }, // 3
{ x: -500, y: -250 }, // 4
// 5-9号位置
{ x: 500, y: -500 }, // 5
{ x: 250, y: -500 }, // 6
{ x: 500, y: -750 }, // 7
{ x: 750, y: -500 }, // 8
{ x: 500, y: -250 }, // 9
// 10-14号位置
{ x: -500, y: 500 }, // 10
{ x: -250, y: 500 }, // 11
{ x: -500, y: 750 }, // 12
{ x: -750, y: 500 }, // 13
{ x: -500, y: 250 }, // 14
// 15-19号位置
{ x: 500, y: 500 }, // 15
{ x: 250, y: 500 }, // 16
{ x: 500, y: 750 }, // 17
{ x: 750, y: 500 }, // 18
{ x: 500, y: 250 }, // 19
],
];