Mam słabość do sieci 3d, które po wycięciu i złożeniu umożliwiają tworzenie kształtów 3d z papieru lub karty. Zadanie jest proste, napisano najkrótszy program, który rysuje sieci dla 13 brył Archimedesa. Wyjście powinno być plikiem obrazu w dowolnym rozsądnym formacie (png, jpg).
Wszystkie trzynaście kształtów zostało opisanych na stronie http://en.wikipedia.org/wiki/Archimedean_solid oraz w poniższej tabeli pobranej z tego miejsca.
Dane wejściowe: Liczba całkowita od 1 do 13. Załóżmy, że kształty są ponumerowane dokładnie tak, jak w powyższej tabeli, tak że „czworościan ścięty” ma numer 1, a „dwunastościan” ma numer 13.
Dane wyjściowe: plik obrazu zawierający siatkę dla tego kształtu. Tylko kontur zawierający linie wewnętrzne jest OK. Nie trzeba wypełniać go kolorami
Możesz używać dowolnego języka programowania, który Ci się podoba, a także dowolnej biblioteki, która nie została stworzona specjalnie na potrzeby tego konkursu. Oba powinny być dostępne bezpłatnie jednak (w obu aspektach) online.
Przyjmę odpowiedź z najmniejszą liczbą znaków dokładnie za tydzień. Odpowiedzi będą akceptowane za każdym razem, gdy się pojawią.
(Nie) Zwycięzca jeszcze. Niestety nie ma ważnych uczestników. Może to jest zbyt trudne?
Odpowiedzi:
Java, 1552
Nie golfowany:
Wyniki (przycięte, zanegowane, połączone i skalowane):
Kształty są dość nietypowe :), ale o ile mogę powiedzieć, są poprawne (daj mi znać, jeśli znajdziesz jakieś błędy). Zostały one wygenerowane (w osobnym programie) przez zbudowanie wykresu powierzchni i cykli cięcia w DFS.
Jestem pewien, że można grać w golfa o wiele więcej, używając np. Pytona i żółwia.
Edycja: ups, ostatni przypadek był trochę przecinający się. Naprawiłem kod (ręcznie), oto zaktualizowany obraz:
źródło
Matematyka
Poza konkurencją, nie jest to wolny język
Stosowanie:
źródło