Прежде чем рассказать о продукте, хочу обратить ваше внимание на то, что пользователей интерактивных геометрических сред можно условно разделить на две группы: разработчики и обычные пользователи. Первые создают интерактивные модели со сложным поведением. Вторые же используют эти модели и иногда создают свои, относительно несложные. Соответственно и требования к среде у этих двух групп разные. Разработчикам прежде всего нужны разнообразные инструменты, позволяющие легко создавать и изменять уже созданную модель в широких пределах, добиваясь от нее требуемого поведения. Обычным же пользователям обилие инструментов и настроек только мешает. Им нужна простая и понятная среда, в которой легко создать модели для любой задачи по геометрии.

Так вот уже в версии 2.0, которая вышла в октябре 2007 года, программа содержала в себе несколько новшеств и улучшений, отсутствующих в других интерактивных геометрических средах. Прежде всего обращают на себя внимание подсказки в виде изменяющегося курсора, который «рекомендует» пользователю, что нужно сделать для завершения построения. Например, когда проводишь перпендикулярную прямую, курсор сначала принимает вид . После того как укажешь прямую, к которой будет проводиться перпендикуляр, курсор изменяется на , показывая тем самым, что нужно обозначить точку, через которую должна проходить вновь построенная прямая. Очень удобно!

Весьма эффективным оказался инструмент Отметить отрезок штрихами , тем более что возможность сделать такие отметки есть далеко не во всех средах. Также уже версия 2.0 предлагала такие важные инструменты, как Разделить отрезок на N-равных частей и Разделить угол на N-равных частей . Они почти незаменимы для построения чертежей к некоторым задачам, но почему-то ни в одной другой среде лично мне не встречались. Не было и таких удобных инструментов, как Периметр и Отношение , которые есть здесь.

При этом в среде отсутствует инструмент для построения равного отрезка. Конечно, его можно построить при помощи окружности заданным радиусом, однако было бы удобно иметь для этого «выделенную» возможность. (Кстати, я попытался создать новый инструмент самостоятельно, и это мне удалось.)

Не сразу удалось обнаружить инструмент для построения касательных, проведенных из точки. Оказалось, что он расположен в меню Мои инструменты, хотя, на мой взгляд, его было бы замечательно включить в основной набор.

Не хватает в «Математическом конструкторе» и инструмента проверки соотношений между объектами, который помогал бы отвечать на вопрос, являются ли точки совпадающими, а прямые - параллельными или перпендикулярными.

Воспользоваться инструментом Сдвинуть холст удалось не сразу, и лишь после ознакомления с документацией выяснилось, что по умолчанию возможность двигать рабочую область отключена. Довольно странно, так как сделать это случайно все равно не получится - для этого обязательно нужно выбрать инструмент.

Неожиданным открытием для меня было то, что вектор в программе отрезком не считается, несмотря на принятое в геометрии определение вектора как направленного отрезка. Поэтому мне так и не удалось выполнить построения, в которых вместо отрезка указывался вектор.

Также выяснилось, что документация к продукту не описывает всех его возможностей (например, я совершенно случайно выяснил, что при нажатой клавише Alt происходит притяжение к сетке). F1 выводит общий экран помощи, хотя гораздо полезнее была бы помощь по текущему инструменту.

Вообще же, с точки зрения пользователя, версия 4.0 заметно изменилась в лучшую сторону: программа стала заметно быстрее работать, появилось множество новых инструментов, возможность строить графики, исправлены некоторые недочеты.

В ранних версиях хуже всего дела обстояли с редактором выражений. Одной из самых неприятных особенностей было то, что набранные подряд обозначения и функции сливались, и единственным доступным способом исправления было удаление всего набранного выражения полностью, ибо пошаговая отмена ввода отсутствовала (правда, в 4.0 она так и не появилась, однако обозначения уже не сливаются). Тем не менее если набрать функцию сразу за обозначением, то мы снова получим монолитное бессмысленное выражение, которое, однако, можно «разлепить» шаманским переключением в режим скрипта и обратно. Обозначения при любой ошибке по-прежнему заменяются на идентификаторы объектов. Похоже, это специально задумано авторами, хотя, по моему скромному мнению, оно сбивает с толку.

Замечу, что не все изменения в новой версии я могу поприветствовать. Например, пропала возможность изменять масштаб с помощью колесика мышки при нажатой клавише Shift.

Что касается возможности перетаскивать панели инструментов, то обычному юзеру никогда не придет в голову умышленно изменять положение панелей инструментов, а вот сдвинуть их случайно очень легко, с чем я неоднократно сталкивался.

Рискну предположить, что пользователь, впервые увидевший «Математический конструктор», особенно если он не был до этого знаком ни с одной интерактивной геометрической средой, может растеряться от такого изобилия всяких непонятных инструментов и галочек. На этот случай было бы замечательно иметь версию с меньшим количеством функционала, но при этом более легкую в освоении.

Теперь о тех возможностях, которые в большей степени могут быть интересны опытным пользователям.

Радует интерфейс. Для ускоренного построения требуемые объекты можно выделять заранее. Так, например, если перед выбором инструмента Построить перпендикулярную прямую выделить линию, к которой будет проводиться перпендикуляр, и точку, через которую он будет проводиться, то перпендикуляр будет построен сразу. Не так наглядно, зато быстро! Кроме того, построение можно ускорить, используя «быстрые клавиши», назначенные для каждого инструмента.

Приятно радует обилие настроек внешнего вида геометрических фигур. Например, для точки можно задать множество параметров: Стиль (круг, крест, квадрат и так далее), Размер, Цвет заливки, Цвет границы, полностью отформатировать обозначение точки и даже задать величину отступа обозначения от точки. Кроме того, обозначение можно подвинуть так, чтобы его не загораживали остальные объекты.

Для всех объектов можно задать значения по умолчанию, так что, например, все новые точки на чертеже будут красного цвета. Подобная возможность есть далеко не во всех интерактивных геометрических средах.

Поведение геометрического объекта в модели-апплете также можно настраивать очень гибко, например запретить его перемещение и удаление. Ни в какой другой интерактивной геометрической среде такая возможность мне не встречалась.

Попытка экспортировать один из инструментов из меню Мои инструменты в модель-апплет увенчалась успехом. А это значит, что пользователям могут быть доступны новые инструменты, созданные разработчиками. Единственное, чего не удалось сделать, это изменить иконку инструмента. Она так и осталась ни о чем не говорящей кассетой.

При экспорте в модель-апплет содержимое диалогового окна вылезло за его границы. Поправить это было несложно, так как размеры окна можно было изменить. Однако выяснилось, что окно импорта также содержало элементы, не вписывающиеся в границы. Здесь дела обстояли хуже, поскольку изменять его размеры было нельзя. Я вспомнил о другом таком окне, которое попадалось мне еще в версии 2.0 (Свойства листа, вкладка Поведение), и удостоверился, что проблема так и не была исправлена. Кстати, в версии 2.0 с окном экспорта в модель-апплет было все в порядке.

Еще одно небольшое замечание: в своей практике я столкнулся с тем, что модель-апплет не работает при загрузке из папок, содержащих в своем названии знак «!». Эту особенность Java-машины было бы здорово указать в файле помощи, а еще лучше - запретить среде сохранять модель в такие папки.

Прямые углы в «Математическом конструкторе» можно отметить квадратом, но вот автоматически (как, например, в GeoGebra) он появляться не будет. Либо угол отмечен полукруглой дужкой, либо ромбом (который у прямого угла превращается в квадрат). Настройка выбирается вручную.

Одна из уникальных особенностей программы - наличие инструментов, при помощи которых можно легко создать проверку на правильность построения и правильность введенного ответа. Это позволяет добавить в динамическую модель диагностику. В других интерактивных геометрических средах если и можно создать такие проверки, то сделать это достаточно сложно. Как минимум понадобится знание программирования.

А вот инструмента для копирования внешнего вида объекта тут явно не хватает. И это притом, что в программе нет возможности изменять свойства для нескольких выделенных объектов сразу, хотя в версии 4.0 заявлено «множественное редактирование свойств объектов».

Не нашел я также настройки, позволяющей скрывать/показывать объекты автоматически в зависимости от заданного условия. Чтобы добиться такого эффекта, придется заняться программированием.

Кстати о программировании, которое авторы относят к одной из важных особенностей «Математического конструктора»: появилась возможность писать программы на JavaScript прямо внутри модели, что позволяет создавать объекты с очень сложным поведением. Но, на мой взгляд, полезность этой функции более чем сомнительна: в программе полностью отсутствуют инструменты отладки написанного кода, а редактор кода никуда не годится. Объектная модель не документирована, и скудные крупицы знаний можно почерпнуть лишь из немногочисленных примеров, поставляемых вместе с программой (всего их 19 штук - на одну больше, чем в 2.0). И несмотря на то, что теперь модель, содержащая ошибки в коде листа, все-таки открывается, программирование в «Математическом конструкторе» - эксперимент не для слабонервных. Следует отметить, что в других средах принят подход, когда код на JavaScript размещен не внутри модели, а на HTML-странице. Это позволяет использовать любую удобную для программиста среду для отладки и редактирования кода.

Подводя итоги, могу сказать следующее: «Математический конструктор» обладает некоторыми интересными как для пользователей, так и для разработчиков возможностями, которые хотелось бы видеть и в других подобных ему средах. Прогресс «Математического конструктора» очевиден, несмотря на то что вместе с новым функционалом появляются новые ошибки (а иногда и ранее работавший функционал дает в новой версии сбой). Если сравнить двухлетний возраст «Математического конструктора» с пятнадцатью годами «Живой математики», с которой он вполне может сравниться по обилию возможностей, то хочется верить, у этого «вундеркинда» прекрасное будущее.

Илья СЕРБИС, педагог, разработчик учебного пособия «Динамическая геометрия для 7, 8 класса»