Uchebniki / Начертательная геометрия Крылов
.pdfРис. 451
Задание первого (верхнего) окна просмотра приведет к выводу на экран изображения, показанного на рис. 452. Выполнение процедуры «Возврат к предыдущему окну» приведет к восстановлению на экране исходного изображения (рис. 451). Задание второго (нижнего) окна просмотра приведет к выводу на экран изображения, показанного на рис. 453. Выполнение процедуры «Возврат к предудьпцему окну» опять приведет к восстановлению на экране первоначального изображения (рис. 451).
СДВИГ ОКНА ПРОСМОТРА
Функция «Сдвиг окна просмотра» по-
зволяет передвинуть текущее окно в пространстве графического объекта в любом направлении, не меняя его размеры. Эта функция полезна при вводе и редактировании графических элементов, попавших на границу текущего окна, либо при вводе длинных и узких объектов.
§ 98. ОПЕРАЦИИ НАД ГРАФИЧЕСКИМИ
ОБЪЕКТАМИ
Каждая графическая система имеет систему функций редактирования сформированного графического объекта. Эти функции предназначены не только для исправления ошибок, но и позволяют ускорить процесс его формирования. Работа большинства функций редактирования основана на выделении — пометке — части объекта (группы примитивов), подвергаемой той или иной процедуре. Пометка выполняется или заданием прямоугольной области вокруг части графического объекта (в этом случае помеченными становятся попавшие в окно примитивы), или непосредственным указанием курсора тех графических примитивов, которые должны быть включены в группу.
ОТКАТКА
Наиболее простая из функций редактирования — откатка. Она заключается в последовательной отмене последних действий, выполненных пользователем. Эта функция не требует задания группы редактирования. Каждое ее выполнение приводит к удалению графического примитива, введенного последним, либо отмене любой другой функции редактирования.
Рис. 300
210
УДАЛЕНИЕ (СТИРАНИЕ)
Функция удаления стирает примитивы, включенные в группу редактирования. Эта функция используется не только для устранения допущенных при формировании объекта ошибок, но может быть использована и для других целей.
Часто, при создании сложных объектов, необходимо выполнять предварительные вспомогательные построения, которые в дальнейшем необходимо удалять.
СДВИГ
Функция используется для плоскопараллельного перемещения помеченной группы примитивов в пространстве графического объекта. Описав группу, можно переместить ее в любое место пространства объекта. Как правило, выделив графические примитивы, входящие в группу сдвига, необходимо также определить «точку привязки группы», так как при сдвиге группы сохраняется не только состав примитивов и их атрибуты, но и расположение примитивов относительно друг друга.
Эта функция полезна не только при исправлении ошибок, связанных с неточностями при состыковке отдельных частей графического объекта. Часто опытные пользователи описывают сложные части объекта отдельно, в стороне от других частей, а затем, используя функцию сдвига, вставляют описанную часть в нужное место графического объекта.
КОПИРОВАНИЕ
Функция позволяет создать копию «помеченных» примитивов и переместить ее в произвольное место пространства графического объекта.
При задании группы копирования необходимо определить «точку привязки хруппы», так как при копировании также сохраняется расположение примитивов относительно друг друга.
Эта функция используется не только для ввода повторяющихся частей объекта. Ею часто пользуются при задании его «похожих» частей. Скопировав группу примитивов, ее можно затем отредактировать — «подправить». Такой
режим намного эффективней, чем описание группы «с нуля». Опытные пользователи легко выделяют такие группы в описываемом объекте, тем самым значительно сокращая время работы над объектом.
РАЗМНОЖЕНИЕ
Функция используется при описании объектов с многократно повторяющимися группами примитивов. Описав группу один раз, можно многократно копировать ее в любое место пространства объекта.
ПОВОРОТ
Эта функция используется для поворота группы «помеченных» примитивов в плоскости проекций. Для выполнения этой функции необходимо, кроме задания собственно группы, определить точку, относительно которой будет совершен поворот, а также угол, на который будет повернута группа относительно заданной точки. Повернутая система координат, изображенная на рис. 453, первоначально была описана как система с осями, параллельными сторонам рамки чертежа. Затем была выполнена процедура копирования, совмещенная с поворотом относительно точки, обозначающей начало координат. Те части графического объекта, которые находятся под углом, удобно описывать в не повернутом, привычном положении, а затем, выполнив функцию поворота, расположить их требуемым образом.
СИММЕТРИЧНОЕ ОТОБРАЖЕНИЕ
Для графических объектов или их частей, имеющих ось (или плоскость) симметрии, нет необходимости в их полном описании. Достаточно описать лишь его половину, а затем, воспользовавшись функцией симметричного отображения, автоматически получить объект целиком. Если же объект (или его часть) имеет две оси симметрии, работа по его описанию еще более упрощается. (Проекции торов, представленных на рис. 451, выполнялись с использованием именно этой функции.)
211
РАСТЯЖЕНИЕ, СЖАТИЕ
Эта функция позволяет производить линейное искажение группы примитивов вдоль одной или сразу двух координатных осей. Коэффициент искажения вдоль каждой оси задается или непосредственно в виде действительного числа или процентах.
Описываемая функция удобна при задании эллипсов с заданными размерами большой и малой оси, либо при построении проекций окружностей. На рис. 454 показаны проекции окружности, плоскость которой перпендикулярна плоскости Пг и наклонена к плоскости Пх под углом 60°. Для построения горизонтальной проекции окружность была сначала построена без искажения, а потом искажена вдоль оси X с коэффициентом 0,5.
Рис. 454
СОХРАНЕНИЕ |
В ВИДЕ ФАЙЛА НА ДИСКЕ |
Любая графическая система обладает средствами записи и чтения графических объектов. Объекты хранятся в виде файлов на устройствах с файловой структурой. Как правило, это магнитные или лазерные диски, дискеты.
При формировании объекта на любой стадии его можно сохранить, пусть и в незавершенном виде. Необходимь/м атрибутом любого графического объекта является его имя, которое задается при первом его сохранении. В дальнейшем пользователь находит объект среди множества других объектов именно по его имени. Опытные пользователи имеют собственную систему задания имен объектов, используя так называемые «говорящие» имена. Если пользователь задает
имя, совпадающее с именем другого объекта, уже хранящегося на диске, графическая система предупреждает его о возможной потере информации и предлагает пользователю подтвердить правильность введенного имени.
ЧТЕНИЕ ИЗ ФАЙЛА НА ДИСКЕ
Сложные графические объекты, как правило, невозможно описать за один сеанс работы пользователя с графической системой. Пользователь завершает работу с системой, выполняя, как правило, функцию «сохранить». Новый сеанс работы начинается с чтения записанного ранее объекта. Для того чтобы прочитать именно тот объект, пользователю необходимо помнить его имя и ввести его в ответ на соответствующий запрос графической системы.
Г Л А В А 19
МОДЕЛИРОВАНИЕ ПРОСТРАНСТВЕННЫХ ОБЪЕКТОВ
§ 99. ЗАДАНИЕ ОТСЕКОВ ПОВЕРХНОСТЕЙ
Наибольшего преимущества, по сравнению с ручными способами геометрических построений, можно добиться при использовании вычислительной техники именно при работе с пространственными объектами.
Пространственные объекты формируются (составляются) из отсеков различных поверхностей. Каждая поверхность задается определителем, который, как известно, имеет геометрическую и алгоритмическую часть. Если для задания поверхности можно сформировать определитель или записать ее уравнение (формализовать задание поверхности), то такая поверхность называется регулярной.
Алгоритмические части обычно определяют отдельные команды графической системы, отвечающие за создание регулярных поверхностей. Для каждой такой команды необходимо задать графические объекты, необходимые для ее выполнения. Эти объекты и составляют геометрическую часть определителя, хотя в графических системах термин «геометрическая часть определителя» не используется.
212
Рис, 455
Рассмотрим примеры автоматического построения каркасов отсеков некоторых поверхностей.
На рис. 455 слева показана плоская кривая линия, составленная из двух дуг и отрезка прямой линии. Эта кривая выполняет роль элемента геометрической части определителя поверхности параллельного переноса, каркас которой показан в центре, а справа — проекция с учетом видимости.
На рис. 456 показаны этапы формирования более сложной поверхности параллельного переноса, имеющей прикладное значение.
В качестве примера построения поверхности вращения на рис. 457 показаны ортогональные проекции и аксонометрия каркаса гиперболоида, образованного вращением прямой линии вокруг оси, не лежащей с ней в одной плоскости. По сравнению с поверхностями конуса вращения и кругового цилиндра, эта поверхность не так проста для понимания,
а процесс построения проекций гиперболоида вращения традиционными ручными методами достаточно сложен.
При задании поверхности вращения указывается угол поворота образущей вокруг оси, который не должен превышать 360°. Если задать угол меньше 360°, будет построен отсек поверхности.
Для задания винтовой поверхности, кроме угла поворота образующей вокруг оси, необходимо задать коэффициент пропорциональности между линейным смещением образующей вдоль оси и углом ее поворота. Угол поворота для винтовой поверхности может превышать 360°. На рис. 458 представлена аксонометрическая проекция винтовой поверхности.
Некоторые графические системы име-
ют |
возможность |
построения |
поверхно- |
||||
стей |
по |
задаваемым |
пользователем фор- |
||||
мулам. |
Такая |
возможность |
|
существенно |
|||
повышает |
эффективность |
использования |
|||||
графических |
систем |
при |
геометрическом |
||||
моделировании, |
а также в |
исследовательс- |
Рис. 456 |
Рис. 457 |
213
|
|
Рис. 458 |
|
ких |
работах. |
В тех графических систе- |
|
мах, |
которые |
не имеют |
возможности |
строить поверхности по заданным аналитическим уравнениям, достаточно сложно создать модель, например, поверхности Мебиуса.
На рис. 459 представлен частный случай поверхности Мебиуса, когда замкнутой направляющей служит окружность. Параметрические уравнения такой поверхности имеют следующий вид:
V
X=(R + Uco&-)cosV,
V
Y=(R + Ucos —) sin V,
V Z= Usin 2
где V — угловой параметр, фиксирующий точку на окружности, а также удвоенный угол наклона прямолинейной образующей к плоскости окружности,
O^V^ln;
U — линейный параметр, определяющий точку на образующей, —15<Г/<-(-15;
R — радиус окружности.
§ 100. КОМПОНОВКА И ПОСТРОЕНИЕ ПРОЕКЦИЙ ПРОСТРАНСТВЕННЫХ ОБЪЕКТОВ
Формирование сложного пространственного объекта из отдельных, ранее созданных и сохраненных на диске его частей, заключается в последовательном их присоединении друг к другу. В отличие от формирования плоских изображений, эта
процедура требует от пользователя постоянного контроля правильности присоединения по всем трем координатам.
Как правило, после выбора присоединяемого объекта его проекция появляется на экране и перемещается за курсором до тех пор, пока пользователь не зафиксирует его положение. Опытные пользователи обычно имеют постоянно пополняемую библиотеку графических элементов, из которых формируют различные объекты. Таким образом, процесс компоновки пространственных объектов чем-то напоминает работу с виртуальным «конструктором», при которой нужный объект «строится» из отдельных, возможно повторяющихся, деталей. Пример сформированного таким образом объекта представлен на рис. 460.
На рис. 461 представлена аксонометрическая проекция трех известных пересекающихся поверхностей. Если учесть, что для задания такого объекта потребовалось около трех минут, можно представить, каким эффективным помощником может служить простая графическая система при изучении курса начертательной геометрии.
Построение проекции пространственного объекта на экране дисплея представляет собой известную процедуру «3D=>2D», при которой с помощью определенной функции производится преобразование трехмерных координат точек объекта в двухмерные координаты проекций.
214
В § 64 и 74 приведены примеры таких функций для получения центральной и параллельной ортогональной проекции. Благодаря простоте функций преобразования координат и быстродействию современных ЭВМ, проекции даже очень сложных и насыщенных объектов строятся практически мгновенно. Это позволяет, динамично меняя параметры проецирования, создавать различные эффекты.— облет объекта, его вращения и т. п.
Отдельным важнейшим вопросом является обеспечение наглядности и реалистичности получаемых изображений на экране дисплея.
Первым шагом в этом направлении является удаление невидимых линий. В настоящее время существует большое количество способов построения проекций пространственных объектов, обеспечивающих решение задачи видимости. Они подробно рассмотрены в многочисленных учебниках по машинной графике, и даже их краткий обзор может занять несколько страниц текста. Тем не менее, в основе практически каждого из них лежит метод конкурирующих точек при определении видимости, описанный в начале учебника (§ 12).
Для повышения наглядности создаваемого изображения используют тонирование — цветовыми оттенками различной интенсивности «заливаются» участки по-
Рис. 461
верхности объектов. Самым простым способом выбора уровня интенсивности цвета для участка поверхности является вычисление угла отклонения вектора нормали к участку от направления на источник света. Затем для найденного угла подбирается наиболее подходящий уровень интенсивности или яркости.
Следующими шагами повышения реалистичности создаваемых изображений являются создание бликов, учет нескольких точечных источников света, построение собственных и падающих теней (гл. 17), моделирование фактуры материала, из которого выполнен объект или отдельные его части.
Наличие трехмерной модели геометрического объекта и возможности построения любых его проекций с удалением (либо нанесением другим типом линии) невидимых линий позволяет сделать автоматическим создание необходимой проектной документации, включая построение стандартных видов, разрезов, сечений, аксонометрических и перспективных проекций. При таком уровне проектирования отпадает необходимость использования «твердых копий» — чертежей на бумаге, кальке и т. п., и в настоящее время использование электронных носителей проектной документации достаточно распространенное явление в практике работы многих проектных фирм.
215