Главная > Разное > Принципы программирования в машинной графике
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

ПРЕДИСЛОВИЕ

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

Много внимания уделяется графическому представлению трехмерных объектов. В первых трех главах описываются несколько интересных программ, в том числе одна для определения кривой типа В-сплайна. Эти главы являются подготовительными для остальных частей книги. В главе 4 определяются традиционные преобразования для проволочных моделей. В противовес этой известной теме в главе 5 предлагается эффективный способ для удаления невидимых линий, являющийся, по моему мнению, совершенно новым. Подобно другим алгоритмам, описываемым в этой книге, способ удаления невидимых линий реализован в работающей программе с именем HIDLINPX. Ряд примеров применения этой программы приводится в главе 6. Поскольку некоторые из этих программ могут быть полезны на практике, то фактически эта книга дает больше, чем это следует из заголовка книги, предполагающего рассмотрение “принципов”. С другой стороны, целый ряд программ служит только методическим целям, не имеющим практического воплощения сами по себе. Но в этих примерах читатель может найти описание реализаций принципов программирования, которые могут оказаться полезными при решении реальных задач.

Все программы в этой книге написаны на языке Си. Это может показаться странным, поскольку многие пользователи считают, что для этих целей язык Паскаль может быть более эффективным. Имея практический опыт программирования на многих языках в течение четверти века, я считаю Паскаль очень хорошим языком программирования, но язык Си просто прекрасен (поскольку я написал известные учебники на голландском языке по этим языкам программирования, то желаю долгих лет жизни обоим этим языкам!). Очень трудно доказать, что фигурные скобки также хорошо читаемы, как ключевые слова begin и end, но разница по длине очевидна. Я упоминаю об этом только потому, что привести полностью текст некоторых программ в этой книге оказалось возможным лишь вследствие компактности языка Си.

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

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

Л. Аммерал

<< Предыдущий параграф Следующий параграф >>
Оглавление