Существует ли бесплатное программное обеспечение для создания моих собственных рисунков, связанных с программной инженерией, таких как управление памятью, стеки и т. д., подобное приведенному ниже, для использования в презентациях и/или отчетах?
Примечание. Раньше я использовал MS Paint, затем LaTeX.
Взгляните на язык DOT и программное обеспечение Graphviz. С его помощью вы сможете создавать такие графики, как ваши и многое другое:
http://www.tonyballantyne.com/graphs.html — начните читать с раздела 5
https://en.wikipedia.org/wiki/DOT_%28graph_description_language%29
http://www.graphviz.org/Documentation/dotguide.pdf
Пример структуры:
digraph structs {
node[shape=record]
struct1 [label="<f0> left|<f1> mid\ dle|<f2> right"];
struct2 [label="{<f0> one|<f1> two\n\n\n}" shape=Mrecord];
struct3 [label="hello\nworld |{ b |{c|<here> d|e}| f}| g | h"];
struct1:f1 -> struct2:f0;
struct1:f0 -> struct3:f1;
}
Вынесено:
После того, как вы создадите какой-либо объект на языке DOT, вы можете преобразовать его в изображение:
dot -Tpng input.dot > output.png
В качестве альтернативы текстовым инструментам, таким как graphviz
упомянутые asymptote
выше, вы можете использовать программу векторного рисования Inkscape .
С его помощью вы можете рисовать практически все, а поскольку он основан на векторах, рисунки масштабируются и редактируются, в отличие от рисунков, сделанных в paint
.
Некоторые из приведенных выше ответов сосредоточены на описании фигур текстом, а затем на их визуализации. Это работает для некоторых людей, однако существует множество других опций, которые могут сделать это визуально, например, в специальных программах для рисования. Поэтому я просто подумал, что упомяну два из них, которые я использовал для разных рисунков в последнее время:
Я использую Processing , когда хочу нарисовать специальную фигуру. Он полностью ориентирован на создание визуального контента, я думаю, что это самый простой язык программирования и API, которые я когда-либо использовал, и работать с ним одно удовольствие. В то же время я понимаю, что большинство людей не захотят писать компьютерную программу для рисования!
Есть важное отличие от DOT: DOT — это декларативный язык — вы описываете то , что хотите, а компьютер выясняет, как это нарисовать для вас. Обработка — это императивный язык — вы описываете , как вы хотите, чтобы ваша фигура была нарисована. Я не говорю, что один лучше другого, просто между ними есть существенная разница в стиле.
Я заметил общий знаменатель во многих технологиях, упомянутых на этой странице, а именно SVG : DOT, Inkscape и LaTeX могут выводить как SVG. Inkscape и Processing могут читать SVG. Поэтому может быть полезно подумать о том, с помощью каких инструментов вы создаете свой SVG, а не с помощью каких инструментов вы рисуете свою фигуру?
Мог говорит восстановить Монику
Бионикс1441
Идонотексист
ДетлевCM