Лекция: Построение с использованием отношений
Построение с использованием отношений заключается в том, что задаются:
· элемент подлежащий построению,
· список отношений и элементы к которым относятся отношения.
Например, построение прямой, проходящей через точку пересечения двух других прямых и касательную к окружности.
Используется два способа реализации построения по отношениям — общий и частный.
При общем способе реализации построение по заданным отношениям можно представить в виде двухшаговой процедуры:
· на основе заданных типов отношений, элементов и параметров строится система алгебраических уравнений,
· решается построенная система уравнений.
Очевидное достоинство такого способа — простота расширения системы — для введения нового отношения достаточно просто написать соответствующие уравнения.
Основные проблемы такого способа заключаются в следующем:
· построенная система уравнений может иметь несколько решений, поэтому требуется выбрать одно из них, например, в диалоговом режиме,
· система уравнений может оказаться нелинейной, решаемой приближенными методами, что может потребовать диалога для выбора метода(ов) приближенного решения.
В связи с отмеченными проблемами общий подход реализован только в наиболее современных системах и при достаточно высоком уровне разработчиков в области вычислительной математики.
Большинство же систем реализует частный подход, первым приходящий в голову и заключающийся в том, что для каждой триады, включающей строящийся элемент, тип отношения и иные элементы, затрагиваемые отношением, пишется отдельная подпрограмма (например построение прямой, касательной к окружности в заданной точке). Требуемое построение осуществляется выбором из меню и тем или иным вводом требуемых данных.
Преимущества такого подхода ясны — проще писать систему. Не менее очевидны и недостатки, когда пользователю требуется использовать сильно разветвленные меню и/или запоминать мало вразумительные сокращения или пиктограммы, так как обычно число требуемых вариантов построения исчисляется сотнями. Расширение системы, реализуемое добавлением новой подпрограммы, требует ее перепроектирования, по крайней мере в части обеспечения доступа пользователя к новым возможностям. В некотором смысле предельный пример этого подхода — система AutoCAD фирмы Autodesk. Авторы даже гордятся сложностью системы: «AutoCAD предоставляет эту крайне сложную технологию» (Предисловие к Справочному руководству AutoCAD версии 2.5).
Понятно, что перспективы за общим подходом с разумным использованием частных решений. Вместе с тем устаревшие системы типа AutoCad скорее всего также будут продолжать использоваться в силу распространенности, сложившегося круга обученных пользователей и т.п.