|
Макеты страниц
9.5. Линии очеркаКаждая поверхность одной из своих сторон может быть направлена к наблюдателю и тогда эта сторона будет видимой. В противном случае сторона поверхности будет не видна из точки наблюдения. Может случиться так, что только часть стороны поверхности будет видимой. В этом случае на поверхности можно построить линию, разделяющую видимую и невидимую чисти поверхности. Линией очерка будем называть линию на поверхности, отделяющую видимую часть поверхности или грани от невидимой ее части.
Рис. 9.5.1. Проекции линий очерка поверхности
Рис. 9.5.2. Проекции сетки полигонов и линий очерка На рис. 9.5.1 приведены линии очерка поверхности. На рис. 9.5.2 показаны линии очерка совместно с сеткой поверхности. При переходе через линию очерка нормаль поверхности меняет направление по отношению к линии взгляда. В точках линии очерка нормаль поверхности ортогональна линии взгляда. В общем случае у поверхности линий очерка может быть несколько. Каждая линия очерка является пространственной кривой. Она или замкнута, или оканчивается на краях поверхности. Для разных направлений взгляда существует своя совокупность линий очерка, поэтому при повороте поверхности линии очерка необходимо строить заново. Параллельные проекции.Для некоторых поверхностей, например, сферы, цилиндра, конуса, линии очерка строятся достаточно просто. Рассмотрим общий случай построения линий очерка поверхности. Пусть требуется найти линии очерка поверхности, описываемой радиус-вектором
где
Результатом решения уравнения (9.5.1) является двухмерная линия
на поверхности Мы построим линию очерка по упорядоченной совокупности точек, удовлетворяющих уравнению (9.5.1). Точками мы называем пару параметров На первом этапе найдем хотя бы по одной точке на каждой линии очерка. Для этого, шагая по поверхности и исследуя знак скалярного произведения
или итерационного процесса
найдем параметры одной из точек линии очерка. Производные нормали На втором этапе берем любую точку из имеющегося набора и, двигаясь от нее с некоторым шагом сначала в одну сторону потом в другую, находим точку за точкой искомую совокупность точек линии очерка. Направление движения дает вектор
где Знак перед слагаемым
то по формуле (9.4.7) дадим приращение параметру и и по формуле (9.5.4) найдем соответствующий ему параметр v поверхности. В противном случае по формуле (9.4.8) дадим приращение параметру и и по формуле (9.5.5) найдем соответствующий ему параметр и поверхности. Движение по кривой закончим, когда дойдем до края одной из поверхностей или когда линия замкнется (новая точка окажется на расстоянии текущего шага от точки старта). В процессе движения будем проверять, не лежат ли вблизи пути следования точки из набора, полученного на первом этапе. Для этого по пути следования будем вычислять расстояние от текущей точки кривой очерка до каждой точки из набора, полученного на первом этапе. Если вычисленное расстояние до какой-либо точки набора соизмеримо с текущим шагом движения, то эту точку удалим из набора как более ненужную. Так получим совокупность отдельных точек
Рис. 9.5.3. Линии очерка тела
Рис. 9.5.4. Тело вращения Совокупность ее точек найдем, взяв любую точку из набора и повторив второй этап построения. Построение линий закончим, когда в наборе не останется ни одной точки. Описанным способом построим линии очерка всех граней модели. Линии очерка граней являются линиями очерка их поверхностей. Линия очерка тела будет видимой, если она не закрыта гранью, лежащей ближе к точке наблюдения. На рис. 9.5.3 приведена линия очерка тела вращения, показанного на рис. 9.5.4. Проекция линии очерка может иметь изломы и точки возврата, но сама линия очерка является гладкой. Точки излома у проекции возникают там, где касательная линия очерка коллинеарна вектору Для построения проекции линии очерка будем строить ее полигон, проекцию которого и возьмем в качестве проекции линии очерка. Центральные проекции.Линии очерка в центральных проекциях удовлетворяют уравнению
где На рис. 9.5.5 приведена параллельная проекция линий очерка тора, а на рис. 9.5.6 для сравнения приведена центральная проекция линий очерка тора. Как можно видеть, эти проекции отличаются.
Рис. 9.5.5. Параллельная проекция линий очерка тора
Рис. 9.5.6. Центральная проекция линий очерка тора Алгоритм построения линий очерка для центральной проекции поверхности, описываемой радиус-вектором
и формулы
соответственно. В остальном алгоритм построения линий очерка для центральной проекции поверхности не отличается от алгоритма построения линий очерка для параллельной проекции.
|
Оглавление
|