Skip to content

averov90/Exponent-Flower-Drawer

Repository files navigation

Exponent Flower Drawer

License Version

Эта программа предназначена для генерации цветкообразных фигур с использованием формы экспоненты. Пример работы программы представлен на рисунке ниже (это непосредственно то, что создала программа): Пример результата работы

Программа представляет из себя некий инструмент для генерации экспоненциальных цветов с заданными параметрами, такими как основание экспоненты, высота экспоненты, деформация экспоненты. Стоит заметить, что деформация с положительным знаком виртуально меняет основание и высоту экспоненты одновременно, поэтому если вам нужна конкретная форма, деформацию использовать не следует. При изменении основания экспоненты и её высоты так же меняется и внутренний радиус цветка (расстояние от центра до лепестков). Если нужно изменить форму лепестков, не меняя радиуса, следует использовать деформацию.

В программе есть довольно много небольших, но полезных настроек. Так, например, есть параметр, позволяющий автоматически рисовать внутреннюю окружность (по умолчанию она нарисована не будет).

Описание

Как и любая, эта программа должна содержать некоторое описание принципа работы, чтобы было легче начать. Многие разработчики делают это в официальном стиле, но в данном случае, мне хотелось бы использовать стиль "юмористический".

Описание в шутливой форме

Это типичная программа с командным интерфейсом. Но интерфейс этот не в консольном окне, а в графическом. Здесь нет командной строки - есть лишь поле для ввода команд и поле для отображения вывода. Как и любая программа с командным интерфейсом, у этой программы есть набор команд. Как и у любой программы с командным интерфейсом, этот набор своеобразный. Не всегда сразу ясно, почему команда выглядит именно так, иногда возникают проблемы с пониманием логики человека, составлявшего сокращения. Почему-то составители списков команд любят придумывать слова, а также давать совершенно другое значение существующим сокращениям. При работе с данной программой у вас определённо возникнут недопонимания. Чтож, метод проб и ошибок вам в помощь.

Каждая программа пишет help по-своему. Чтож, тут help тоже своеобразный, как и man. Создатели командных интерфейсов уж очень любят делать по-своему, а не так, как привыкли видеть другие люди. Иной раз думаешь, что тут уж точно всё ясно, но оказывается с точность до наоборот. Да и правила обработки команд бывают весьма разными, как и связь команд, которую нужно ещё постигнуть. Однако, логика во всей этой катавасии всё же есть и когда вы её постигните, вам вдруг станет гораздо проще. С данной программой. А у других - другая логика - её ещё только предстоит постигнуть.

А теперь серьёзно

Из описания выше вы могли подумать, что представленная в репозитории программа является какой-то шуткой-игрушкой, но нет - это настоящая программа, которая реально может создавать представленное на картинке выше и не только это. Можно настраивать и толщину линий, и качество (разрешение) картинки, и основание экспоненты, и виртуальную высоту экспоненты, и деформацию её, и количество лепестков, и поворот получившегося рисунка. Есть также вспомогательные функции, например, маскировка соединений лепестков. Разумеется, есть возможность сохранить полученное изображения в png (программа работает с alpha), а также можно сгенерировать последовательность изображений с одним изменяющимся параметром (задать конечное значение и шаг). Это может быть полезно для предварительной генерации набора вариантов и отсеивания неподходящих, а также для создания анимации. Если вы собираетесь использовать эту программу в работе и сокращения команд в программе вас сильно не устраивают, создайте Issue - я рассмотрю, внесу изменения и выпущу дополнительный release.

Для начала

  1. Для начала скачайте программу, и запустите её - установка не требуется
  2. Ознакомьтесь со списком команд, отображающимся в поле вывода
  3. Вводите команды в поле команд, затем нажимаете либо кнопку справа, либо enter.

Начать будет проще, если первой командой вы введёте draw. Эта команда раскрывается в комбинацию, которая сразу выведет фигуру (так же в окне вывода в порядке выполнения появятся команды, которые эта команда выполнила). Далее можно просто менять интересующие параметры - prop - и смотреть на результат.

И ещё: поместить выполненную команду (имеет префикс >) из поля вывода в поле ввода можно двойным кликом, либо нажатием enter когда поле вывода в фокусе.

Кстати, десятичный разделитель в этой программе - точка (3.14).

P. S.

Важно также сказать, что данный проект не остался в стороне в наши непростые времена с нашей, без преувеличения, самой важной проблемой современности в мировом масштабе - проблемой расизма. Точнее, проблемой его существования. Программа подчёркивает безусловную и безпретендентную некорректность расового конфликта, разжигаемого порочным общественным стереотипом бледных людей, и призывает к самым глобальным мерам. Например, совершенно несправедливо правилами шахмат говорится, что первыми ходят именно белые. Было бы гораздо правильнее, если бы первыми ходили чёрные, ведь они столько лет ходили вторыми. Также стоит посмотреть в сторону радиотехники, где 0 (земля) обозначается чёрным цветом, что, опят же, несправедливо. Куда правильнее было бы назначить чёрным проводам такой же потенциал, как и белым. Так же в качестве решения предлагается отмена чёрных и белых проводов с переходом на серые. Также можно вспомнить и бумагу. Почему бумага белая? Почему соотношение белого и черного в книгах не равно? Почему "чёрный" - цвет темноты, а самый яркий свет - "белый"? Почему свет - это наличие, а темнота - отсутствие?! Я думаю, физики должны заняться решением этой проблемы: нам просто необходимы лампы чёрного света и белой тени (белой тени - не обязательно). Как видите, проблема существует на самом фундаментальном уровне и вовсе не преувеличена и, тем более, не высосана из пальца в каких-то целях.

Людям слишком невозможно принять отличия и не пытаться уравнять всё, будто это уравнение (без коэффициентов - коэффициенты только у расистов). Дело в том, что в природе человека (был открыт соответствующий отдел спинного мозга) заложена необходимость считать, что если что-то является другим, то оно, определённо, либо лучше, либо хуже. Понятия "просто другой", либо же, сказать научнее, "параллельный" не существует - геометрия вам врала.

Запомните: если что-то является "другим", то оно, однозначно, либо хуже, либо лучше. Если же оно и не лучше, и не хуже, значит оно и не "другое". Даже когда мы сравниваем сыр с табуретом.

И да, я закоммитил это в master.