В своем ответе об аффинных преобразованиях я сделал несколько небольших иллюстраций, чтобы помочь объяснению.
Как быстро создать PNG с возможностью загрузки, которая выражает геометрическую или математическую идею?
Этот вопрос был придуман, чтобы поддержать мой постскриптумный ответ, но он предназначен для поиска других решений, которые могут принести пользу сети SE в более общем плане. Но для правдоподобия ответ должен содержать ссылку на пост, в котором этот метод фактически использовался, а также достаточную часть «Howto», если речь идет о чем-то более очевидном, например «Выбор экспорта из меню».
Есть два мета вопросы здесь и здесь относительно того, как в рамках этого вопроса в свете того старшинства он может установить для нашего сайта.
Ответы:
Я использую различные инструменты в зависимости от конкретных потребностей на данный момент. У меня есть склонность к бесплатным инструментам, поскольку у меня нет доступа к таким вещам, как Illustrator или Mathematica.
Для общего векторного искусства я использую бесплатный Inkscape . Он работает с файлами .svg, а также может выводить их в виде высококачественных файлов .png или других растровых форматов. Например, вот диаграмма, которую я сделал в Inkscape, чтобы объяснить UV-картирование :
Для графиков 2D-функций я часто использую онлайн-калькулятор Desmos , который имеет удобную возможность, позволяющую вам обмениваться графиками в Интернете, чтобы другие могли просматривать и изменять их. Вы также можете создавать ползунки, которые можно изменять для воспроизведения параметров кривой в режиме реального времени. Например, вот настраиваемая функция повышения резкости .
Для более сложных графических задач, которые требуют немного программирования, я использую Maxima , бесплатную систему компьютерной алгебры, которая также имеет графические функции. Я использовал Maxima для создания графиков в этом ответе о размытии по Гауссу :
Это было слишком сложно для Desmos, поскольку в нем программно создавалось кусочное приближение гауссиана.
Для действительно странных графических задач, которые не выполняются ни кем другим, я использовал Python с пакетом svgwrite для программного генерирования диаграмм в файлы .svg. Затем они могут быть исправлены в Inkscape при желании и преобразованы в растровые изображения с использованием Inkscape или ImageMagick. Я использовал этот рабочий процесс для создания изображений в этом посте с высокой точностью , например:
В этом случае я хотел не только построить график функции, но и поставить метки программно и неравномерно вдоль осей и графика, чтобы проиллюстрировать дискретные значения буфера глубины.
И, наконец, если ничего не достаточно, я буду использовать Python с numpy и pillow для рендеринга изображений попиксельно. Вот как я создал изображения шума Перлина в этом ответе ( в данном случае также с помощью пакета шумов ).
источник
Лично мой выбор яда - Adobe Illustrator. Другие приложения, такие как Inkscape, Corel Draw, Xara Designer также подойдут. В крайнем случае, даже PowerPoint будет работать. Хотя я лично не рекомендую PowerPoint из-за серьезных проблем с его моделью данных, даже жесткое, возможно, самое развернутое приложение для рисования в мире.
Также может быть хорошей идеей иметь под рукой графическое приложение. Я лично использую Mathematica для этого, хотя многие другие приложения тоже будут работать. Или, если хотите, вы можете использовать Wolfram alpha, это бесплатная онлайн-версия mathematica.
Отказ от ответственности: потому что примеры мои и бесстыдная самоутверждение взять с щепоткой соли.
Иллюстратор
Первое, что вы должны сделать в любом приложении для векторного рисования, - это включить сетку привязки . Это уменьшает утомительность точного размещения линий. Одна из главных причин, по которой я не люблю использовать Inkscape, заключается в низком способе реализации этого замыкания. PowerPoint по умолчанию поставляется с привязкой к сетке.
Illustrator меня не очень устраивает, поскольку он не удовлетворяет всем моим потребностям. Но программного обеспечения пока нет (Maya раньше занимала эту нишу, но потом произошло Autodesk).
Вторая причина, по которой я выбираю Illustrator, заключается в том, что он понимает постскриптум изначально. Поэтому, если мне нужно что-то запрограммировать, я могу сделать это быстро, и существующие документы обновляются по мере того, как мой код созревает. Изображение 3 выполняется таким образом.
Вот несколько примеров рисунков, которые я сделал по сети с помощью Illustrator, в основном с помощью привязки к сетке:
Изображение 1 : одно из многих изображений, которые я нарисовал в иллюстраторе на этом сайте. Примечание: я довольно опытный иллюстратор (иногда коммерческий), и это очень просто по моим стандартам.
Изображение круга в довольно простом виде. Просто нарисуйте случайную форму, нажимая вокруг. После этого отключите оснастку и пусть умные гиды сделают вашу работу за вас. Нарисуйте линии к ближайшей точке на линии, сделайте круги на линии и (я удалил контрольные линии после того, как закончил). Промыть и повторить. Мне понадобилось 3-5 минут, чтобы нарисовать изображение, как только я начал работать.
Изображение 2 : GD.SE Продолжение волны .
Хотя это изображение кажется более сложным, оно не намного больше работы, чем первое изображение. Это более технически, поэтому в дополнение к привязке сетки I теперь используется клавиша Shift для ограничения линий до углов 45 градусов. Заполнения штриховки легко назначаются регионам с помощью инструмента конструктора фигур в Illustrator. (пример использования построителя фигур , снимок экрана)
Изображение 3 : Иногда легче начать с нуля в постскриптуме. Изображение добавлено к сообщению на ENG.SE .
Наконец, изображение, которое действительно легче сделать, набрав значения в postscript. Это относительно легко сделать в постскриптуме. Я все еще делал типографику в иллюстраторе. Хотя рисовать это от руки - не большое дело, я предпочитаю этого не делать, но я сделаю это, если я должен сделать суждение на глаз.
Mathematica
Mathematica замечательно, если вы хотите исследовать вещи немного больше. Единственный недостаток Mathematica - это то, что он НЕ дешевый. Но это может сделать почти все быстро. Я использовал Mathematica для некоторых моих фотографий на основе нурб .
Одной из основных компетенций Mathematicas является то, что легко создавать даже довольно сложные картинки без особых хлопот. Он также может легко анимировать вашу простую картинку в вашем редакторе .
Результаты в той же картине, что и другие. Оборачивая это в таблицу согласно результату:
Рисунок 4 : Анимацию просто сделать в редакторе кода с помощью Mathematica.
источник
PostScript + ps2eps + mogrify
Для ответа Affine Transformations я написал очень маленькую постскриптумную программу, а затем сохранил несколько копий под разными именами и отредактировал каждую для выполнения каждой отдельной задачи: масштабировать, переводить, вращать. Например, вот основной,
ident.ps
который ничего не делает для изменения координат между красным рисунком и черным рисунком. Я сделал красные линии немного больше и всегда рисую их в первую очередь, чтобы они были хорошо наложены и видимы (IMO). Я просмотрел ghostscript с помощью команды vi (ex):!gs %
. ( все исходные файлы )Затем я использовал
ps2eps
командуpsutils
для автоматического вычисления ограничивающих рамокИ, наконец, использовал
convert
команду imagemagick для создания обрезанных изображений PNG. (Я не думал о быстром способе автоматизации этой части. Редактировать: как прокомментировано, это можно сделать с помощьюmogrify -format png *.eps
. Спасибо, joojaa!)Который производит PNG, готов к загрузке.
источник
mogrify -format png *.eps
mogrify
. Дляps2eps
части он автоматически вычисляет (и добавляет) информацию ограничивающего прямоугольника. Пропустив эту часть, выconvert
получите полноразмерные изображенияЯ просто использую Powerpoint для создания таких диаграмм, и он отлично работает, как только вы освоитесь с его основными примитивами. Он поддерживает все простые операции, такие как вращение, перемещение и т. Д., А последние изменения также имеют сдвиговые и трехмерные преобразования. Примеры:
Вот пример диаграммы Powerpoint, которую я сделал для ответа.
Для более сложных диаграмм, особенно в 3D, я иногда использую Blender с бесцветными материалами. Я могу уточнить и показать примеры, если это имеет отношение к вашему вопросу.
Похоже, jsfiddle также популярен здесь.
источник
Не полный набор инструментов, который вы, возможно, ищете, а просто дополнительный инструмент, который я использую сам: для 3D-графики может пригодиться Blender. Особенно, если вы используете плагин Export_SVG (доступен по адресу http://dl.dropbox.com/u/16486113/Blender/archivos/temp/SVG/export_svg.py и http://blenderartists.org/forum/showthread.php? 282824-SVG-output-script )
Это позволяет вам получать трехмерные объекты Blenders в качестве векторной графики в Illustrator или Inkscape. Я считаю, что это дает мне хорошее начало для создания простых 3d иллюстраций.
Позвольте мне вставить пример. (В этом примере я использую много цветов, но, конечно же, вместо этого все может быть сделано черно-красным на белом)
источник
Я использую Powerpoint и различные (дорогие) пакеты САПР. Я написал макросы Powerpoint (код VBA) для некоторых специальных вещей, таких как рисование управляющих полигонов кривых Безье. Затем я использую стандартный инструмент Windows Snipping Tool, чтобы делать снимки экрана. Вот некоторые примеры:
И еще несколько примеров из Math.SE
Один
два
три
четыре
пять
источник