GithubHelp home page GithubHelp logo

averov90 / exponent-flower-drawer Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.43 MB

EFD is a program, that can draw flower-like and derived of it forms using form of the exponent.

License: GNU Lesser General Public License v2.1

C# 100.00%
exponent generator image-generator image-generation flower design-tool designer-pattern designer-tool anti-racist blm

exponent-flower-drawer's Introduction

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.

exponent-flower-drawer's People

Contributors

averov90 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.