Ребята, здорово, молодцы! Случайно натолкнулся на Вашу программу, скачал, глянул. Легкая и очень приятная программа. Сам пользоваться не буду - после Мэпла уже на не пересядешь :-) но все равно здорово, что есть такое, да еще и бесплатное!
Ну и пару предложений, может будут полезными...
Во-первых вопрос филосовский: зачем слепое подражание Маткаду. Причем, подражание вплоть до его "идеологических" косяков? В первую очередь - это, конечно, пресловутый "плавающий" интерфейс. Свободное расположение текста - это, имхо, для Фотошопа, но не для текстовых процессоров, которыми, по-сути, являются математические программы.
На первых порах это кажется прикольным, но только до тех пор, пока не начинаешь серьезно работать с программой. Именно это дико раздражало в Маткаде, и, для меня, явилось одной из главных причин перехода в его "родитель", т. е. Мэпл.
Сейчас в Мэпле пытаются реализовать именно "естественный" интерфейс, т. е. тест со внедренными формулами, но у них пока это дико глючно, тормознуто, и все на уровне третьего класса церковноприходской школы.
Ну так вот - зачем это, собственно, делать? Если планируется переходить на коммерческие рельсы - то понятно, а если нет?
Это затрудняет навигацию (невозможно пользоваться клавиатурой), увеличивает количество ошибок (на пиксел приподнятая формула уже не видна "родителю"
, затрудняет последующую возможную типографскую обработку, и приводит к корявому оформлению текста вообще. Вы обратите внимание: даже в Ваших примерах вы стараетесь форматировать выражения в строчку, но уж никак не разбросанными по свободному полю.
В инжерных расчетах, для которых и позиционируется Маткад, такое "свободное" размещение текста - это просто глупость, без всякого имхо:-) Популярность Маткада исторически обусловлена тем, что это была первая программа, предложившая ввод формул в естесственном виде. Но уж совсем не тем, что у тебя не текст, а набор одуванчиков, где ты боишься лишний раз ткнуть мышкой, чтобы не нарушить это шаткое равновесие:-)
Это как если бы в MsWorde можно было бы каждое слово таскать по экрану:-) Вы бы обрадовались такой возможности?
Понимаю, что все это вряд-ли сподвигнет Вас пересмотреть интерфейс, но все же... В Маткаде хотя бы была лазейка - внедрение формул в текст. У Вас, вроде бы такого я не нашел. Но и в Маткаде начинались (и сейчас тоже) глюки, если вы вставляете формулу и результат в одну и ту же строку.
По поводу того же интерфейса есть еще одна мелочь, убивавшая в Маткаде, и, один к одному, скопированная Вами:-)
Допустим, вы вставляете текстовую область по Shift+". Во-первых, это работает только в английской раскладке, что опять же является маткадовским дебилизмом, т. к., если до этого вы вводили текст, то находитесь, естественно, в национальной раскладке. Их там, в PTC, это не сильно волнует - у них одна раскладка:-) Ну так вот, вы успешно перключились в англ., и пытаетесь ввести текст. Каковой, опять же, начинает вводится с английских букв, т. к., конечно раскладку вы переключить забыли:-) Вы забиваете все забоем, до первой буквы, ну и ее, конечно тоже! И... оказываетесь ОПЯТЬ в режиме ввода формул, т. е. вылетаете из текстовой области! Такая вот мелочь, на которую тратится львиная доля времени набора текста в Маткаде.
Ну и второе. Тут критиковать не буду, тут рацуха:-) Догадываюсь, что единицами и размерностями Вам уже всю плешь проели:-) Здесь никуда не денешься, т. к. все инженерные расчеты в конце концов сводятся к одному виду: х:=2*y+b=4[m]. Т. е., размерности нужны. Но их реализация в том же Маткаде, и Мэпле (в Математике не пробовал, хотя и там есть), очень сурово усложняют жизнь программам, приводит к доп. ошибкам, и пр. А ведь тот же Мэпл - это все-таки один из самых продвинутых мат. движков...
Исходя из своего инженерного опыта, могу сказать, что размерности нужны немного в другом виде. Их не надо вычеслять, упрощать, и вообще вводить в мат. часть в любом виде. Размерность, на мой взгляд, должна быть просто в виде тэга к результату расчета. Т. е., у вас имеется, допустим, знакоместо после результата (или после ввода значения), и вы сами вписываете в нее размерность.
Фокус в том, что, в отличие от ввода вручную как текста, размерность просто должна быть принадлежностью результата формулы. Внешне это может выглядеть в виде того же квадратика, как в Маткаде. Типа если вы его заполнили вручную - записали N, то хорошо - результат высветится в виде =2[N], не заполнили - тоже ничего страшного, останется без размерности. Инженер всегда знает чтО он получил, ему не до теории размерностей - ему гораздо проще (и надежней) вручную ввести размерность, чем бороться с косяками размерностей программы. Мэпл сообщает мне, что я получаю четыре джоуля энергии. Я знаю что у меня четыре ньютона на метр момента - мы оба правы. Только мне надо теперь еще и объяснить проге, что я правее:-)
Кстати, такой метод размерностей может быть просто альтернативным.
...Вот это я расписался! Ну да может что полезное, и в деле пригодится:-) Ребята, в любом случае вы молодцы, только не бойтесь делать иногда новое свое, и по-своему!