Добрый день,
Ваша цель состоит в том, чтобы в наименьшем количестве байтов исходного кода воссоздать любую из картин «Композиции» Пита Мондриана (например, Композиция № 10 ).
Воссоздание может либо использовать фактические цвета, либо заменить их соответствующими цветами из 16-цветовой палитры Windows Default.
Ваш отдых может быть выведен в формате PNG, BMP или NetPBM, либо в файл, либо в STDOUT, либо непосредственно на экран.
Ваш отдых должен быть разрешением 512x512 или выше.
Ваш отдых не должен иметь доступ к Интернету. Если вашей программе требуются файлы данных, их размер будет добавлен к размеру вашего источника.
Ваша оценка будет размером вашего исходного файла в байтах.
Пожалуйста, укажите в своей записи, какую картину вы воссоздаете, и предоставьте ссылку на оригинал и фотографию вашего отдыха.
Удачи.
источник
Ответы:
Тикз, 175 байт
Композиция III в черном и белом , 175 байтов
Проверьте это в блогосфере
Это, пожалуй, одна из самых минималистичных работ Мондриана, и я удивлен, что никто еще не нашел ее. Это, однако, не особенно интересно, поэтому я включил несколько других картин в свой ответ.
объяснение
Существует немного обертки, которая связана с каждым ответом tikz. Обертка это:
Как только вы обойдете оболочку, есть несколько
\def
операторов, которые сохраняют байты, но, к сожалению, запутывают код:Если мы сделаем все правильные замены, наш код будет выглядеть примерно так:
Первый бит
\clip
очень важен, но пока мы его пропустим.Теперь мы рисуем первую линию на чистом холсте. Эта линия довольно толстая, поэтому мы используем
[line width=2mm]
для установки толщины2mm
:Это соединяет пару узлов и создает эту форму:
Затем мы
\draw
выполняем второй штрих, однако этот ход будет тоньше, поэтому мы должны установить толщину линии1mm
:Теперь наша картина выглядит так:
Это близко к оригиналу, но не совсем, так что вот где
\clip
вступает в игру. Мы используем,\clip
чтобы удалить все лишние строки с нашего холста и установить правильный размер холста. С измененным размером холста мы получаем изображение:Композиция с желтой заплатой , 214 байтов
Оцените это в CyberSpace
Объяснение приехать
Композиция II в синем и желтом цвете , 225 байтов
Оцените это через Webbernetz!
Объяснение приехать
Композиция B (№ 2) в красном , 232 байта
Попытайтесь сделать это в Интернете!
объяснение
Сначала приведем код с вставленными переносами строк, чтобы сделать его более читабельным:
Первая интересная команда
Это рисует красный прямоугольник с черным контуром. Для верхнего левого угла картины.
Затем мы рисуем еще два прямоугольника с белыми внутренностями и черными контурами, чтобы создать сетку на картине.
Затем мы рисуем тонкую линию
И обрезать изображение до нужного размера
Композиция II красного, синего и желтого цветов, 251 байт
Проверьте это на World Wide Web!
объяснение
Сначала я вставлю несколько разрывов строк, чтобы сделать мой код читабельным
Первая линия важности:
Это рисует следующую форму:
Эта странная форма - желтый прямоугольник в правом нижнем углу и две линии, которые не являются краями цветного прямоугольника. Затем мы вставляем красный квадрат и закрываем дополнительные линии, сделанные последней формой:
Это выглядит как:
Теперь мы вставляем наш синий квадрат:
Теперь все, что осталось, это обрезать все ненужные части изображения, используя
\clip
Композиция II , 308 байтов
Проверьте это на Информации-Супер-Шоссе
Объяснение приехать
источник
Mathematica
202287 байт.Просто для удовольствия! 330 байтов: Мондриан с "Boogie Woogie" в названии
Фактическая подача [287 байт]
\[SpanFromLeft]
и подобные выражения занимают примерно 85 байтов. В mathematica каждое такое выражение имеет свой отдельный символьный символ.Выход слева; фотография Пита Мондриана, красно-синяя желтая композиция справа.
источник
Рубин, 112 (111) символов
Пит Мондриан - композиция в си (№ II) с красным
моя постановка слева, увеличенная ссылка справа.
Цвета могут быть слегка изменены - с точностью до 1/9 - без потери оценки путем настройки максимального значения в PPM. Я выбрал «подходящий цвет Win16». 8/9 белый, вероятно, ближе к оригинальному цвету холста, но 9/9 ближе к замыслу автора.
Один символ может быть сохранен , если заменить"1 0 0 "
с(w+b+b)
(# F00 красный). Я считаю, что считается "достаточно близко"версия файла (не игра в гольф)
источник
"0 "
->b
w="2 "
наw="2 "*9
иb
также.ppm
файл и откройте в графическом редактореSmileBASIC,
27741892 байтаБродвейские буги-вуги
Каждая из «строк» в изображении хранится в этом формате:
Все числа хранятся как
CHR$(number+32)
, цвета хранятся как один символ;w
,y
,r
, Илиb
, и направление хранится в виде|
или-
Дополнительные прямоугольники просто хранятся как:
Точно так же.
источник
SVG - 455
480- композиция Мондриана II красного, синего и желтого цветовЕсли вы можете встраивать Javascript в SVG и делать его динамичным, это язык программирования. Ergo, это программа. Оказывается, если в SVG отсутствует координата
x
илиy
координата, по умолчанию используется значение 0. Такжеred
короче, чем#f00
!Довольно печатные:
источник
SmileBASIC, 67 байт
Я выбрал легкий: композиция III в черно-белом
К счастью, графическая страница SB имеет размер 512х512 пикселей, но не все умещается на экране 400х240, поэтому я не могу легко получить скриншот.
Разъяснение:
источник
Обработка,
15,4471544115.439 байтГрубая сила, и мне не удалось найти способ удалить функцию рисования.
Это ошибки в основном процессоре, я думаю, потому что он слишком большой для b64. Вы можете проверить это здесь .
JS Fiddles все же обрезает его до 100 * 100px. Мой base64 работает, а онлайн-среда - нет. :(
источник
PImage x=loadImage(i);
data:;base64
работает так же хорошоLove2D, 4956 + 395 + 1 = 5351 байт
Файл данных хранится ЗДЕСЬ
Выход:
Оригинал:
объяснение
Энкодер.
Это просто скрипт, который я использовал для кодирования изображения. Gif работал более сжато, но мне не нужно было показывать GIF.
В основном соревнуются за награду. Вероятно, есть лучшие способы сделать это, но я подумал, что было бы интересно попробовать использовать простую паллету и расшифровать длину прогона.
РЕДАКТИРОВАТЬ: входное изображение было упрощено, чуть менее точно, но на величину меньше байтов.
источник