Cho số nguyên N> = 2, tạo ra hình ảnh hiển thị nút Sierpiński độ N.
Ví dụ: đây là các nút độ 2, 3, 4 và 5:
Nhấp vào hình ảnh để xem kích thước đầy đủ (độ càng cao thì hình ảnh càng lớn).
Đặc điểm kỹ thuật
- Một nút Sierpiński có độ N được vẽ bằng cách sử dụng các đỉnh của tam giác Sierpiński độ N làm điểm hướng dẫn. Một tam giác Sierpiński có độ N là ba tam giác Sierpiński bậc N-1 được sắp xếp thành một tam giác lớn hơn. Một tam giác Sierpiński có độ 0 là một tam giác đều.
- Các tam giác thành phần nhỏ nhất có chiều dài cạnh 64, tạo ra tam giác Sierpiński mà nút được dựa trên chiều dài tổng thể của
- Tâm của tam giác ngoài được định vị ở tâm ảnh. Điều này không cho khoảng trắng bằng nhau ở trên và dưới.
- Kết quả là một hình ảnh vuông có độ dài cạnh nơi là
ceiling(x)
, càng lớn số nguyên nhỏ nhất hơn hoặc bằng x. Giá trị này chỉ đủ lớn để đỉnh trên cùng của tam giác Sierpiński nằm bên dưới hình ảnh khi tâm của tam giác nằm ở trung tâm của hình ảnh. - Các đường cong duy nhất phải vượt qua và dưới chính nó, xen kẽ nghiêm ngặt. Các giải pháp có thể chọn giữa dưới rồi hơn, hoặc sau đó dưới.
- Các hình ảnh ví dụ cho thấy nền trước và nền trắng. Bạn có thể chọn bất kỳ hai màu dễ dàng phân biệt. Khử răng cưa được cho phép nhưng không cần thiết.
- Không được có những khoảng trống nơi hai cung gặp nhau hoặc nơi đường cong đi qua hoặc bên dưới chính nó.
- Đầu ra có thể là bất kỳ tệp hình ảnh định dạng raster hoặc bất kỳ tệp hình ảnh định dạng vector nào có kích thước hiển thị mặc định chính xác. Nếu bạn hiển thị trực tiếp lên màn hình, thì đây phải ở dạng cho phép cuộn để xem hình ảnh đầy đủ khi lớn hơn màn hình.
Xác định tâm vòng cung, bán kính và độ dày
- Nút được xây dựng như một chuỗi các cung tròn gặp nhau tại các điểm mà tiếp tuyến của chúng song song, để tạo ra một liên kết liền mạch. Các cung này được hiển thị dưới dạng các hình khuyên (hình cung có độ dày).
- Tâm của các cung này là các đỉnh của các tam giác lộn ngược nhỏ nhất. Mỗi đỉnh như vậy là trung tâm của chính xác một cung.
- Mỗi cung có bán kính là
- Ngoại lệ là các cung trong ba hình tam giác ngoài cùng (ở các góc của tam giác lớn) có tâm là trung điểm của hai đỉnh bên trong liền kề và do đó có bán kính là
- Mỗi cung được biểu thị với tổng độ dày (chênh lệch giữa bán kính trong và bán kính ngoài) và các viền đen của mỗi cung có độ dày Đường cong phải có các đường viền này, và không chỉ là một dải liền.
Đơn vị đo lường
- Tất cả các khoảng cách đều tính bằng pixel (1 là khoảng cách ngang hoặc dọc giữa 2 pixel liền kề).
- Căn bậc 3 của 3 phải chính xác đến 7 số liệu có ý nghĩa. Nghĩa là, tính toán của bạn phải tương đương với việc sử dụng ROOT3 sao cho
1.7320505 <= ROOT3 < 1.7320515
Chấm điểm
Mã ngắn nhất tính bằng byte thắng.
Đối với những người thắc mắc, N = 0 và N = 1 không được bao gồm bởi vì chúng tương ứng với một vòng tròn và một trục chính, không hoàn toàn khớp với mẫu áp dụng cho N> = 2. Tôi hy vọng rằng hầu hết các cách tiếp cận cho thử thách này sẽ cần thêm mã trường hợp đặc biệt cho 0 và 1, vì vậy tôi quyết định bỏ qua chúng.
stroke-width:3.464102
và tương tự là một chút quá mức nếu ý tưởng là để có được độ chính xác 1 pixel. Tôi sẽ đi trước và bao gồm nó như thế, mặc dù, nếu đó là phán quyết.