Flaga Nepalu ( Wikipedia , Numberphile ) wygląda zupełnie inaczej. Zawiera również szczegółowe instrukcje rysowania (zawarte w artykule w Wikipedii). Chcę, żebyście stworzyli program, który narysuje flagę Nepalu.
Użytkownik wprowadza żądaną wysokość flagi (od 100 do 10000 pikseli), a program wysyła flagę Nepalu. Możesz wybrać dowolny sposób narysowania flagi: wszystko, od grafiki ASCII po OpenGL.
To jest konkurs popularności, więc zwycięzca otrzyma najwyższą głosowaną odpowiedź 1 lutego, więc nie martw się o długość kodu, ale pamiętaj, że krótszy kod może uzyskać więcej głosów.
Jest tylko jeden wymóg: nie wolno korzystać z zasobów sieciowych.
Baw się dobrze :)
print("|\\\n|\\")
jest to prawidłowe rozwiązanie. Myślę, że musisz sprecyzować reguły dotyczące wpisów nie-bitmapowych.Odpowiedzi:
SVG,
1375,1262,1036,999,943, 939SVG tak naprawdę nie ma danych wejściowych od użytkownika, AFAIK, więc możesz zmienić skalę modyfikując ten wiersz:
źródło
hg log --style=changelog -r 0..tip
. Mógłbym zrobić bardziej szczegółowy opis technik, które tam zastosowałem.JavaScript,
569537495442 znaków (ASCII)Aby uruchomić: skopiuj-wklej do konsoli przeglądarki (np .: narzędzia dla programistów Chrome lub Firebug)
Wynik:
EDYCJA: dodano wysokość jako dane wprowadzane przez użytkownika, jak sugeruje ST3. działa najlepiej z dużymi wartościami (np .: 120)
źródło
Matematyka
Tymczasowa konstytucja Nepalu - Załącznik 1 (w odniesieniu do art. 6), s. 260 i 262, zawiera 25 szczegółowych instrukcji na temat budowy flagi. (patrz http://www.ccd.org.np/resources/interim.pdf ). Liczby w komentarzach odnoszą się do odpowiednich instrukcji w konstytucji.
Będziemy potrzebować funkcji, aby narysować równoboczne trójkąty i określić odległość od punktu do linii:
Pozostały kod, z numerami odnoszącymi się do instrukcji. Zdecydowanie najtrudniejszą częścią jest wytwarzanie promieni dla księżyca i słońca.
GeometricalTransformation
przydaje się do wykonywania tłumaczeń i rotacji.Poniższa flaga, z powyższego kodu, jest wykonana zgodnie z instrukcjami zawartymi w konstytucji.
Kolory są modyfikowane, aby ułatwić przeglądanie linii konstrukcyjnych. Litery odnoszą się do punktów i linii w instrukcji.
Nawiasem mówiąc, flagi świata można wywoływać bezpośrednio w Mathematica. Na przykład:
źródło
Pyton
Używa żółwi Tk Pythona, przykład
python nepal.py 150
ipython nepal.py 200
odpowiednio:źródło
R (nie mówmy o długości )
źródło
Python (+ PIL), 578
Ponieważ jestem dzisiaj dość znudzony ...
źródło