Những người khác đã mô tả khung chung cho thiết kế (mặt phẳng chiếu hữu hạn) và chỉ ra cách tạo các mặt phẳng chiếu hữu hạn theo thứ tự chính. Tôi chỉ muốn điền vào một số khoảng trống.
Các mặt phẳng chiếu hữu hạn có thể được tạo ra cho nhiều đơn hàng khác nhau, nhưng chúng đơn giản nhất trong trường hợp thứ tự chính p
. Sau đó, các số nguyên modulo p
tạo thành một trường hữu hạn có thể được sử dụng để mô tả tọa độ cho các điểm và đường thẳng trong mặt phẳng. Có 3 loại khác nhau của tọa độ cho điểm: (1,x,y)
, (0,1,x)
, và (0,0,1)
, nơi x
và y
có thể đảm nhận các giá trị từ 0
đến p-1
. 3 loại điểm khác nhau giải thích công thức p^2+p+1
cho số điểm trong hệ thống. Chúng tôi cũng có thể mô tả dòng với cùng 3 loại khác nhau của tọa độ: [1,x,y]
, [0,1,x]
, và [0,0,1]
.
Chúng tôi tính toán xem một điểm và đường thẳng có phải là sự cố hay không bằng cách sản phẩm chấm của tọa độ của chúng có bằng 0 mod hay không p
. Vì vậy, ví dụ điểm (1,2,5)
và đường thẳng [0,1,1]
là sự cố p=7
kể từ khi 1*0+2*1+5*1 = 7 == 0 mod 7
, nhưng điểm (1,3,3)
và đường thẳng [1,2,6]
không phải là sự cố kể từ đó 1*1+3*2+3*6 = 25 != 0 mod 7
.
Dịch sang ngôn ngữ của thẻ và hình ảnh, điều đó có nghĩa là thẻ có tọa độ (1,2,5)
chứa hình ảnh có tọa độ [0,1,1]
, nhưng thẻ có tọa độ (1,3,3)
không chứa hình ảnh có tọa độ [1,2,6]
. Chúng ta có thể sử dụng quy trình này để phát triển một danh sách đầy đủ các thẻ và hình ảnh mà chúng chứa.
Nhân tiện, tôi nghĩ việc hình ảnh như điểm và thẻ là đường thẳng thì dễ dàng hơn, nhưng có sự đối ngẫu trong hình học chiếu giữa điểm và đường nên thực sự không thành vấn đề. Tuy nhiên, trong phần tiếp theo tôi sẽ sử dụng điểm cho hình ảnh và đường kẻ cho thẻ.
Các công trình xây dựng tương tự cho bất kỳ lĩnh vực hữu hạn. Chúng ta biết rằng có một trường hữu hạn của trật tự q
nếu và chỉ khi q=p^k
, một quyền lực chính. Trường được gọi là GF(p^k)
viết tắt của "trường Galois". Các trường không dễ dàng để xây dựng trong trường hợp nguồn chính như trong trường hợp chính.
May mắn thay, công việc khó khăn đã được thực hiện và thực hiện trong phần mềm miễn phí, cụ thể là Sage . Ví dụ, để có được một thiết kế mặt phẳng chiếu của thứ tự 4, chỉ cần gõ
print designs.ProjectiveGeometryDesign(2,1,GF(4,'z'))
và bạn sẽ có được đầu ra giống như
ProjectiveGeometryDesign<points=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20], blocks=[[0, 1, 2, 3, 20], [0,
4, 8, 12, 16], [0, 5, 10, 15, 19], [0, 6, 11, 13, 17], [0, 7, 9, 14,
18], [1, 4, 11, 14, 19], [1, 5, 9, 13, 16], [1, 6, 8, 15, 18], [1, 7,
10, 12, 17], [2, 4, 9, 15, 17], [2, 5, 11, 12, 18], [2, 6, 10, 14, 16],
[2, 7, 8, 13, 19], [3, 4, 10, 13, 18], [3, 5, 8, 14, 17], [3, 6, 9, 12,
19], [3, 7, 11, 15, 16], [4, 5, 6, 7, 20], [8, 9, 10, 11, 20], [12, 13,
14, 15, 20], [16, 17, 18, 19, 20]]>
Tôi diễn giải như trên: có 21 hình được dán nhãn từ 0 đến 20. Mỗi khối (đường trong hình học chiếu) cho tôi biết hình ảnh nào xuất hiện trên thẻ. Ví dụ, thẻ đầu tiên sẽ có hình 0, 1, 2, 3 và 20; thẻ thứ hai sẽ có hình 0, 4, 8, 12 và 16; và như thế.
Hệ thống của đơn hàng 7 có thể được tạo bởi
print designs.ProjectiveGeometryDesign(2,1,GF(7))
tạo ra đầu ra
ProjectiveGeometryDesign<points=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56], blocks=[[0, 1, 2, 3, 4, 5, 6,
56], [0, 7, 14, 21, 28, 35, 42, 49], [0, 8, 16, 24, 32, 40, 48, 50], [0,
9, 18, 27, 29, 38, 47, 51], [0, 10, 20, 23, 33, 36, 46, 52], [0, 11, 15,
26, 30, 41, 45, 53], [0, 12, 17, 22, 34, 39, 44, 54], [0, 13, 19, 25,
31, 37, 43, 55], [1, 7, 20, 26, 32, 38, 44, 55], [1, 8, 15, 22, 29, 36,
43, 49], [1, 9, 17, 25, 33, 41, 42, 50], [1, 10, 19, 21, 30, 39, 48,
51], [1, 11, 14, 24, 34, 37, 47, 52], [1, 12, 16, 27, 31, 35, 46, 53],
[1, 13, 18, 23, 28, 40, 45, 54], [2, 7, 19, 24, 29, 41, 46, 54], [2, 8,
14, 27, 33, 39, 45, 55], [2, 9, 16, 23, 30, 37, 44, 49], [2, 10, 18, 26,
34, 35, 43, 50], [2, 11, 20, 22, 31, 40, 42, 51], [2, 12, 15, 25, 28,
38, 48, 52], [2, 13, 17, 21, 32, 36, 47, 53], [3, 7, 18, 22, 33, 37, 48,
53], [3, 8, 20, 25, 30, 35, 47, 54], [3, 9, 15, 21, 34, 40, 46, 55], [3,
10, 17, 24, 31, 38, 45, 49], [3, 11, 19, 27, 28, 36, 44, 50], [3, 12,
14, 23, 32, 41, 43, 51], [3, 13, 16, 26, 29, 39, 42, 52], [4, 7, 17, 27,
30, 40, 43, 52], [4, 8, 19, 23, 34, 38, 42, 53], [4, 9, 14, 26, 31, 36,
48, 54], [4, 10, 16, 22, 28, 41, 47, 55], [4, 11, 18, 25, 32, 39, 46,
49], [4, 12, 20, 21, 29, 37, 45, 50], [4, 13, 15, 24, 33, 35, 44, 51],
[5, 7, 16, 25, 34, 36, 45, 51], [5, 8, 18, 21, 31, 41, 44, 52], [5, 9,
20, 24, 28, 39, 43, 53], [5, 10, 15, 27, 32, 37, 42, 54], [5, 11, 17,
23, 29, 35, 48, 55], [5, 12, 19, 26, 33, 40, 47, 49], [5, 13, 14, 22,
30, 38, 46, 50], [6, 7, 15, 23, 31, 39, 47, 50], [6, 8, 17, 26, 28, 37,
46, 51], [6, 9, 19, 22, 32, 35, 45, 52], [6, 10, 14, 25, 29, 40, 44,
53], [6, 11, 16, 21, 33, 38, 43, 54], [6, 12, 18, 24, 30, 36, 42, 55],
[6, 13, 20, 27, 34, 41, 48, 49], [7, 8, 9, 10, 11, 12, 13, 56], [14, 15,
16, 17, 18, 19, 20, 56], [21, 22, 23, 24, 25, 26, 27, 56], [28, 29, 30,
31, 32, 33, 34, 56], [35, 36, 37, 38, 39, 40, 41, 56], [42, 43, 44, 45,
46, 47, 48, 56], [49, 50, 51, 52, 53, 54, 55, 56]]>