Рисование энергетических диаграмм
- В этой теме 9 ответов, 5 участников, последнее обновление 14 лет, 3 месяца назад сделано
amg.

Раньше энергетические диаграммы рисовал в MS Office 2003 в Excel. После прорисовки отдельных кусков можно их было накладывать друг на друга, выбирать тип линий для любых отрезков диаграммы. Excel мне нравился из-за соблюдения масштаба. 🙂 После выхода MS Office 2007 в Excel этот функционал пропал, зато появились проблемы с перекосом объектов на диаграмме после вставки в другие программы.
Сергей Леонидович предлагал рисовать в тех же программах, где рисуют химические формулы/схемы. Однако мне это показалось не удобным. Например, в ISIS Draw 2.5 не возможно из одной точки провести 3 линии, чтобы они были соединены (чтобы можно было двигать саму эту точку с перемещением линий).
Когда-то давно рисовал планы и схемы в программе MS Visio 2003. Попробовал её для рисования энергетических диаграмм, оказалось, что это наиболее удачная программа для этого 🙂 А после прорисовки можно сохранить результат в какой-нибудь векторный формат (вроде emf или svg) вместе с фоном. Смотриться очень красиво!

Марат сказал, что для рисования диаграмм использует Gnu Plot и рисует с
помощью команд. Мне это понравилось, т.к. в данном случае получается именно то,
что хочет человек, а не то, что заложено в автоматике программы.
А графические редакторы для рисования диаграмм, IMHO, это очень долго.
Попробовал построить простенькую энергетическую диаграмму в программке InkScape.
Результатом доволен чуть менее, чем полностью. Программа достойная: векторный редактор графики, поэтому диаграммку спокойно можно сохранить в векторный формат и изменять размеры как угодно без потери качества, что конечно же, плюс. Интерфейс во многом похож на CorelDraw, что порадует поклонников последнего.
Ну и самый большой плюс: программа распространяется бесплатно 🙂
У меня регулярно возникают задачи рисования сложной расчитанной ППЭ, причем в правильном масштабе энергий. Тоже использую InkScape.
В InkScape есть возможность соединить два прямоугольника (но не линии!) так чтобы при перемещении этого прямоугольника сделанное соединение сохранялось. К сожалению, соединение м.б. только с центром прямоугольника. Поэтому у меня каждый энергетический уровень состоит из 2-х маленьких прямоугольников по краям и одного узкого длинного посредине.
Для рисования в масштабе использую самописный скрипт, который из xyz-файлов минимумов и ПС создает инкскейповский svg-файл, в нем уже есть ось энергий (в ккал или в кДж) и набор уровней с правильным расположением во вертикали. Остается только подвинуть уровни по горизонтали, соединить их края в нужном порядке и проекции структур вставить.
amg, а упомянутый Вами скрипт по какой лицензии распростаняется? 😉
Без всякой лицензии, берите, кто хочет и делайте с ним что угодно, мне не жалко.
http://limor1.nioch.nsc.ru/file/Priroda/levels.zip
Нужен Perl.
Если есть вопросы, буду рад помочь.
Наконец то появилась возможность продемонстрировать, что у меня получается:
http://limor1.nioch.nsc.ru/quant/hexanitrobenzene/
Заодно ссылку в предыдущем посте заменил на архив со скриптами, а также с примерами исходных *.xyz, index.html и краткой инструкцией.
Для ответа в этой теме необходимо авторизоваться.