W podobnym duchu co to pytanie , Twoim zadaniem jest stworzenie logo najlepiej patrząc w co najwyżej 1K kodu.
Zasady:
Maksymalnie 1K kodu (włącznie), brak danych zewnętrznych.
Odpowiedź z największą liczbą głosów pozytywnych wygrywa.
Baw się dobrze!
popularity-contest
chubakueno
źródło
źródło
Odpowiedzi:
SVG
1kB? Luksus. Mogę nawet całkiem wydrukować wydruk zamiast usuwać wszystkie niepotrzebne białe znaki. (Wcięcie używa oczywiście tabulatorów, które Markdown konwertuje na spacje, dlatego liczba znaków może wydawać się wyższa niż rzeczywista 977. Usunięcie niepotrzebnych białych znaków powoduje zmniejszenie jej do 861).
Zakładki są obsługiwane poprawnie, rysując pierścienie w jednym kierunku, a następnie nakładając klips i rysując je w drugim kierunku. Kolory i proporcje są pobierane z oficjalnego dokumentu, który z jakiegoś powodu używa krzywych Béziera, a nie okręgów.
źródło
JavaScript (rdzeń) - 1000 w kropce. - WebKit (Chrome)
Zabawa z płótnem.
Nie jestem pewien, czy jest to 1024 czy 1000
K
, ale udało się sprowadzić go do1000982940: DNadaje się tylko do przeglądarek WebKit. Chrome OK. Firefox bałagan. Może zajrzeć do przeglądarki.
Kod:
940: Porzuciłem pakowanie
onload
i polegam na wstawianiu skryptu na końcubody
tagu + błąd wyrównania i poprawka Firefoksa.Skrzypce:
http://jsfiddle.net/Ifnak/XSBLg/embedded/result/http://jsfiddle.net/Ifnak/4fSWm/5/embedded/result/
Ładuje się zarówno w Firefoksie, jak i Chrome, ale jest dość obciążony zasobami w FF. Korzystanie
requestAnimationFrame()
pomogło trochę, ale niewystarczająco.Zwróć uwagę, że śnieg leży na dnie, dlatego przewiń w dół, aby zobaczyć powolny wzrost. Początkowo miał trochę przemalowania na ziemi, ale nie mógł zmieścić się w 1024 chr.
Wynik (zrzut ekranu w niskiej jakości z GIF-em):
źródło
Matematyka
Z mojej odpowiedzi w Mathematica.SE Pytania i odpowiedzi :
Edycja: W wersji 10 zmieniono domyślny styl oświetlenia; aby renderować powyższą grafikę, należy dodać opcję
Lighting -> "Classic"
doGraphics3D
.Dalsza gra z oświetleniem w celu uzyskania płaskiego dwuwymiarowego efektu:
Dla Olivera, który powiedział, że mój pierwszy wynik to „zbyt 3D”, oto rzeczywiste renderowanie 2D za pomocą kodu jVincent z moim refaktoryzacją, również z powiązanego wątku:
źródło
Ruby, 321
Niestety pewna głowa państwa wydaje się być głównym tematem większości wiadomości olimpijskich. Oto moje logo freestyle (maskotka?) Na Igrzyska 2014.
Wyjście: (Wykonaj kopię zapasową i zez. Przepraszam za prymitywne renderowanie, ale nie zasługuje na nic lepszego.)
źródło
Bash + ImageMagick
Przykładowe dane wyjściowe:
źródło
FreePascal
Olimpiada zimowa? Co powiesz na niektóre fraktalne płatki śniegu zamiast zwykłych pierścieni.
Rekurencja dla gałęzi środkowej jest dość oczywista: (dx, dy) = 0,5 (dx, dy). Gałęzie lewy i prawy są oparte na rotacji przez mnożenie macierzy:
x = x cos (a) - y sin (a)
y = x sin (a) + y cos (a)
1/4 = 0,5 cos (60) i 7/16 to dobre przybliżenie 0,5 sin (60).
. .
źródło
Jawa
Podobnie do mojej odpowiedzi SVG, ale
Zauważ, że nie próbowałem grać w golfa, pomimo możliwości kilku interesujących lew (np.
-57*~dir
Zamiast57*(1+dir)
. Jest przy 923 znakach, ale gra w golfa do 624 dość łatwo.źródło
Commodore 64 BASIC
Znów odpowiedź C64, ale tym razem wolno mi używać duszków ! Tak!
Pamiętam, że jeśli chciałeś używać duszków, zacząłbyś swój program od wielu nudnych
DATA
instrukcji. Aby zdefiniować monochromatyczny wzór sprite „wysokiej rozdzielczości” (24 x 21 pikseli), potrzebujesz 63 bajtów. W rzeczywistości istnieje internetowy edytor ikonek, który oblicza dane, więc:Potrzebuję też więcej DANYCH dla kolorów i pozycji. Właśnie skopiowałem to z mojej odpowiedzi na pierwotne pytanie z logo Igrzysk Olimpijskich :
Potem zwykle ustawiałeś
V=53248
. To53248
musi być ważna liczba, ponieważ wciąż ją pamiętam 25 lat później :) Okazuje się, że jest to podstawowy adres VIC-II (kontrolera interfejsu wideo):Następnie wczytałem wzór duszka do pamięci, zaczynając od adresu
832
. Dziwnie jest pisać po prostu w pamięci, bez alokacji, nienew
, nic takiego :) Adres początkowy musi być wielokrotnością 64.Będę używał tego samego wzoru dla wszystkich duszków.
C
to kod koloru,X
iY
są poziomymi i pionowymi pozycjami kół.Potrzebnych jest jeszcze kilka
POKE
s:V+0
,V+2
,V+4
, Itp ... są poziome lokalizacje każdej ikonki, podczasV+1
,V+3
,V+5
... są pionowe. Kolory duszka zaczynają się od rejestruV+39
:Wskaźniki danych sprite zaczynają się od
2040
, a ponieważ dane zaczynają się od832
, otrzymujemy832/64
=13
, więc:Aby włączyć duszki, ustawiam bity
0-4
rejestruV+21
. Zmieniłem też tło na białe, aby zobaczyć niebieski okrąg.To jest to!
źródło
V+23
dla podwójnej wysokości iV+29
podwójnej szerokości. (bit #x dla duszka #x).LaTeX / TikZ
Rozmiar: 876 bajtów (12 linii, linia z 72 znakami i koniec linii)
Rozmiar: 817 bajtów w jednym wierszu i przy dwóch optymalizacjach:
tikz
klasystandalone
, patrz komentarz Kreatora pszenicy.soft=blank
można skrócić, definiując stylb
.LaTeX / TikZ (wersja do odczytu)
Następująca dłuższa wersja jest prawdopodobnie łatwiejsza do zrozumienia.
Zachodzenie na siebie pierścieni odbywa się poprzez narysowanie pierścieni najpierw pustymi segmentami. Następnie na późniejszym etapie pierścienie są ponownie rysowane, ale tym razem puste segmenty są wypełnione, a pozostałe już wyciągnięte segmenty pierścieni pozostają nietknięte. Dlatego obcinanie nie jest w ogóle używane.
Pierścień z białymi marginesami jest rysowany za pomocą koła z podwójną linią. Obszar między liniami jest wypełniony kolorem pierścienia, a cieńsze podwójne linie tworzą zewnętrzny i wewnętrzny biały margines.
Kolory i wymiary pochodzą z opisu strony PDF strony 5 oficjalnego dokumentu (patrz odpowiedź Petera Taylera).
źródło
\documentclass[tikz]{standalone}
dzięki tej końcówki .b
aby uniknąć długości,blank=soft
która jest używana cztery razy.C ++ 1024 bajty
Zaktualizowano: teraz z wygładzaniem krawędzi. Kod został nieco zdez golfowany, ale wciąż mieści się w (dokładnie) 1K.
Nie używa żadnych funkcji bibliotecznych oprócz funkcji ostream do zapisywania pliku wyjściowego.
Wysyła plik .ppm:
źródło
R, 70 znaków
Korzystanie ze statystyk CRAN-R.
źródło
GLSL
Wydaje mi się, że jestem trochę spóźniony na imprezę, ale może uda mi się to zrekompensować pierwszym przesłaniem GLSL na tej stronie. Ma być stosowany jako moduł cieniujący fragmenty dla operacji podstawowej wypełniającej ekran i oczekuje rozdzielczości rzutni w
iResolution
mundurze.Kolory i pozycje są „zapożyczone” z oświadczenia Petera Taylora . Musiałem skrócić niektóre nazwy zmiennych, aby uzyskać mniej niż 1024 znaki, ale mam nadzieję, że nadal będą czytelne.
Zobacz to w Shadertoy (jeśli twoja przeglądarka obsługuje WebGL).
źródło
Matematyka
Oryginalną odpowiedź zastąpiłem odpowiedzią na regiony i ich skrzyżowania. Rozmiar kodu to 973 bajtów, bez golfa.
Regiony 1-5 to pierścienie. Pierścienie mają wewnętrzny promień 2,5 jednostki; promień zewnętrzny wynosi 3 jednostki. Stosunek wewnętrzny do zewnętrznego oraz ogólna logika podejścia można znaleźć tutaj .
Dlaczego nie możemy po prostu wydrukować 5 pierścieni bez uwzględnienia warstw.
Jeśli od razu wykreślimy te pierścienie, nie będą się blokować. Zauważ, że żółty pierścień leży na szczycie niebieskiego i czarnego pierścienia; zielony pierścień leży na szczycie zarówno czarnego, jak i czerwonego pierścienia.
Przerzucanie kolorów na 4 skrzyżowaniach pierścieni.
Regiony 6, 8, 10 i 12 to prostokąty, które służą do określenia, na którym przecięciu dwóch pierścieni należy się skupić.
Regiony 7, 9, 11 i 13 to „pierścienie zachodzące na siebie”, gdzie pierścień na dole powinien znajdować się na górze.
Na których skrzyżowaniach odwrócono ich kolory?
Poniżej wyróżniono regiony przecięcia, w których kolory zostały „odwrócone”. Dokonano tego poprzez zmianę
BoundaryStyle
regionów 7, 9, 11 i 13 naWhite
.źródło
JavaScript (three.js) - 910 bajtów
Biorąc pod uwagę element HTML, funkcja ta utworzy pierścienie jako obiekty 3D, a następnie wyrenderuje nieruchomy obraz do elementu. Działa w przeglądarkach obsługujących WebGL. SKRZYPCE
źródło
kot (10 bajtów)
Było tak krótkie, że strona odmówiła przesłania go, dopóki nie dodałem tego opisu. Logo reprezentuje igrzyska olimpijskie.
źródło
C ++ w / SFML (1003 włącznie z białymi znakami)
Nie mały jak na wyobraźnię, ale utrzymany tak zwięzły, jak to możliwe i wciąż poniżej 1k.
Edycja: Zaktualizowano kolory w oparciu o przesłanie SVG @Peter Taylor.
źródło
Delfy
Wynik
źródło
stworzył rozwiązanie oparte na edycji Java Swing GUI UltraGolfed (696 znaków)
Częściowo nieskompresowany: (971)
źródło
POWERSHELL,
kod 869 i dane wyjściowe na zrzucie ekranu
źródło
SpecBAS
Każdy pierścień składa się z wewnętrznego / zewnętrznego koła, a następnie jest wypełniony zalaniem.
Musiałem ręcznie znaleźć skrzyżowania i wypełnić je osobno (aby nadal można było zobaczyć niektóre linie między nimi).
źródło