В том же духе, что и в этом вопросе , ваша миссия состоит в том, чтобы создать самый красивый логотип с максимальным размером 1 КБ.
Правила:
Не более 1К кода (включительно), без внешних данных.
Ответ с наибольшим количеством голосов выигрывает.
Повеселись!
popularity-contest
chubakueno
источник
источник
Ответы:
SVG
1kB? Luxury. Я даже могу печатать вывод, а не удалять все ненужные пробелы. (Конечно, для отступа используются вкладки, которые Markdown конвертирует в пробелы, поэтому количество символов может показаться выше, чем фактическое значение 977. Удаление ненужных пробелов приводит к уменьшению его до 861).
Перекрытия обрабатываются правильно, рисуя кольца в одном направлении, затем применяя зажим и вытягивая их в другом направлении. Цвета и соотношения взяты из официального документа, который по некоторым причинам использует кривые Безье, а не круги.
источник
Javascript (ядро) - 1000 на точку. - WebKit (Chrome)
Играя с холстом.
Не уверен, что это 1024 или 1000
K
, но удалось снизить его до1000982940: DПодходит только для браузеров WebKit. Хром в порядке. Firefox беспорядок. Можете заглянуть в кросс-браузер.
Код:
940: Удалил обертывание
onload
и положился на скрипт, вставленный в конецbody
тега + ошибка выравнивания и исправление Firefox.Скрипки:
http://jsfiddle.net/Ifnak/XSBLg/embedded/result/http://jsfiddle.net/Ifnak/4fSWm/5/embedded/result/
Загружается как в Firefox, так и в Chrome, но довольно сильно загружает ресурсы в FF. Использование
requestAnimationFrame()
помогло немного, но не достаточно.Обратите внимание, что снег лежит на дне, поэтому прокрутите вниз, чтобы увидеть медленный рост. Первоначально имел некоторые перекраски на земле, но не мог вписаться в 1024 грн.
Результат (низкокачественный GIF-экран):
источник
Mathematica
Из моего ответа в Mathematica.SE Q & A :
Редактировать: в версии 10 изменен стиль освещения по умолчанию; Чтобы отобразить изображение выше, нужно добавить опцию
Lighting -> "Classic"
кGraphics3D
.Далее игра с освещением для создания плоского двумерного эффекта:
Для Оливера, который сказал, что мой первый результат был «слишком трехмерным», вот реальный 2D-рендеринг с помощью кода jVincent с моим рефакторингом, также из связанного потока:
источник
Руби, 321
К сожалению, определенный глава государства до сих пор является главной темой большинства олимпийских новостей. Итак, вот мой логотип в стиле фристайл (талисман?) Для Игр 2014 года.
Вывод: (Резервное копирование и косоглазие. Извините за примитивный рендеринг, но он не заслуживает лучшего.)
источник
Bash + ImageMagick
Образец вывода:
источник
FreePascal
Зимняя Олимпиада? Как насчет некоторых фрактальных снежинок вместо обычных колец.
Рекурсия для центральной ветви довольно очевидна: (dx, dy) = 0,5 (dx, dy). Левая и правая ветви основаны на повороте путем умножения матрицы:
x = x cos (a) - y sin (a)
y = x sin (a) + y cos (a)
1/4 = 0,5 cos (60) и 7/16 - хорошее приближение 0,5 sin (60).
, ,
источник
Джава
Похоже на мой ответ SVG, но
Обратите внимание, что я не пытался играть в гольф, несмотря на возможность некоторых интересных трюков (например,
-57*~dir
вместо57*(1+dir)
. Это на 923 символов, но гольф до 624 довольно легко.источник
Коммодор 64 Бейсик
Опять же ответ C64, но на этот раз мне разрешено использовать спрайты ! Ура!
Я помню, если бы вы хотели использовать спрайты, вы бы начали свою программу с множества скучных
DATA
утверждений. Для определения монохроматического спрайта с высоким разрешением (24x21 пикселей) вам потребуется 63 байта. На самом деле есть онлайн- редактор спрайтов, который рассчитывает данные для вас, поэтому:Мне также нужно больше ДАННЫХ для цветов и позиций. Я только что скопировал это из своего ответа на оригинальный вопрос с логотипом Олимпийских игр :
Тогда вы обычно устанавливаете
V=53248
. Это53248
должно быть важное число, потому что я все еще помню его 25 лет спустя. Оказывается, это базовый адрес VIC-II (контроллер видеоинтерфейса):Затем я прочитал шаблон спрайта в память, начиная с адреса
832
. Кажется странным просто писать в ячейку памяти, без выделения, нетnew
, ничего подобного :) Начальный адрес должен быть кратным 64.Я буду использовать один и тот же шаблон для всех спрайтов.
C
это цветовой код,X
иY
горизонтальные и вертикальные позиции кругов.Требуется еще несколько
POKE
с:V+0
,V+2
,V+4
, И т.д. ... являются горизонтальным расположением каждого спрайта, аV+1
,V+3
,V+5
... являются вертикальными. Цвета спрайтов начинаются с регистраV+39
:Указатели данных спрайта начинаются с
2040
, а поскольку данные начинаются с832
, мы получаем832/64
=13
, поэтому:Чтобы включить спрайты, я установил биты
0-4
регистраV+21
. Я также изменил фон на белый, чтобы мы могли видеть синий круг.Это оно!
источник
V+23
для двойной высоты иV+29
для двойной ширины. (бит #x для спрайта #x).LaTeX / TikZ
Размер: 876 байт (12 строк, строка из 72 символов и конец строки)
Размер: 817 байт в одной строке и с двумя оптимизациями:
tikz
классаstandalone
, см. Комментарий Мастера Пшеницы.soft=blank
может быть сокращено путем определения стиляb
.LaTeX / TikZ (читаемая версия)
Следующая более длинная версия, вероятно, легче понять.
Перекрытие колец обрабатывается путем рисования колец с пустыми сегментами. Затем на более поздней стадии кольца снова рисуются, но на этот раз пустые сегменты заполняются, а остальные уже нарисованные сегменты колец остаются нетронутыми. Поэтому отсечение вообще не используется.
Кольцо с белыми полями нарисовано кружком с двойной линией. Область между линиями заполнена цветом кольца, а более тонкие двойные линии образуют внешнее и внутреннее белое поле.
Цвета и размеры взяты из описания страницы в формате PDF на странице 5 официального документа (см. Ответ Питера Тейлера).
источник
\documentclass[tikz]{standalone}
благодаря этому совету .b
чтобы избежать длинных,blank=soft
которые используются четыре раза.C ++ 1024 байта
Обновлено: теперь с сглаживанием. Код был несколько де-гольф, хотя по-прежнему вписывается (точно) 1K.
Не использует никаких библиотечных функций, кроме функций ostream для записи выходного файла.
Выводит файл .ppm:
источник
R, 70 символов
Использование статистики CRAN-R.
источник
GLSL
Я чувствую, что немного опаздываю на вечеринку, но, возможно, я смогу восполнить это с первой подачей GLSL на этом сайте. Он предназначен для использования в качестве фрагментного шейдера для примитива заполнения экрана и ожидает разрешение области просмотра в
iResolution
униформе.Цвета и позиции «позаимствованы» из представления Питера Тейлора . Мне пришлось сократить некоторые имена переменных до 1024 символов, но я надеюсь, что они по-прежнему читаемы.
Смотрите его в Shadertoy (если ваш браузер поддерживает WebGL).
источник
Mathematica
Я заменил свой первоначальный ответ тем, который опирается на регионы и их пересечения. Размер кода 973 байта, без заглядывания.
Регионы 1-5 - это кольца. Кольца имеют внутренний радиус 2,5 единицы; внешний радиус составляет 3 единицы. Отношение внутреннего к внешнему и общая логика подхода можно найти здесь .
Почему мы не можем просто распечатать 5 колец без учета слоев.
Если мы нанесем эти кольца сразу, они не сцепятся. Обратите внимание, что желтое кольцо лежит поверх синего и черного колец; зеленое кольцо лежит поверх черного и красного колец.
Листать цвета на 4 пересечениях колец.
Области 6, 8, 10 и 12 являются прямоугольниками, которые служат для указания того, на каком пересечении двух колец сосредоточиться.
Области 7, 9, 11 и 13 - это «перекрытия колец», где кольцо снизу должно быть сверху.
На каких перекрестках перевернули цвета?
Ниже выделены области пересечения, где цвета были «перевернуты». Это было достигнуто путем изменения
BoundaryStyle
областей 7, 9, 11 и 13 наWhite
.источник
Javascript (three.js) - 910 байт
Для данного html-элемента эта функция создаст кольца в виде трехмерных объектов, а затем отобразит неподвижное изображение для элемента. Работает в браузерах, которые поддерживают WebGL. FIDDLE
источник
кот (10 байт)
Это было так коротко, что веб-сайт отказывался загружать его, пока я не добавил это описание. Логотип представляет Олимпийские игры.
источник
C ++ с SFML (1003, включая пробелы)
Не маленький для любого воображения, но сохраненный как можно более кратким, но читаемым, и все еще под 1k.
Изменить: Обновлены цвета на основе представления SVG @Peter Taylor.
источник
Delphi
Результат
источник
сделал решение на основе версии Java Swing GUI UltraGolfed (696 чар)
Полусжатый: (971)
источник
POWERSHELL, 869
код и вывод на скриншот
источник
SpecBAS
Каждое кольцо состоит из внутреннего / внешнего круга, а затем заполнено.
Пришлось найти перекрестки вручную и заполнить их по отдельности (чтобы вы все еще могли видеть некоторые линии между ними).
источник