j1 = findEdge (j, 1,n,p); addEdge(j,j1,1,p);
}
for (i = 0; i < aetCount; i +~ 2 )
line (f«xed2lnt ( aet [i].x ), s, fixed2lnt ( aet [i+1].x ), s );
for (i = 0; i < aetCount; i++ ) {
aet [i].x += aet [i].dx;
if ( p [aet [i].to].y == s ) {
int j =aetp].to;
int j1 = findEdge (j, aet [ij.dir, n, p );
if (j1 >=0) V/adjust entry {
aetpj.from = j;
aet [jj.to = j1;
aet [ij.x = int2Fixed ( p p].x );
aet p].dx = int2Fixed ( p p1].x - p [j].x) / ( p Q1].y - p [j].y );
}
else
{
aetCount--;
memmove ( &aet [i], &aet [i+1], (aetCount - i) * sizeof (AETEntry)); i-; // to compensate for i++
}
}
}
}

пьютерная графика. Полигональные модели Упражнения

Напишите программу, реализующую растровую развертку эллипса. Напишите программу построения дуги эллипса.

Напишите программу построения прямоугольника с закругленным углами радиуса г.

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

Модифицируйте алгоритм Брезенхейма для построения линий заданной толщины с заданным шаблоном.

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

Глава 7

ПРЕОБРАЗОВАНИЯ НА ПЛОСКОСТИ

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


⇐ Предыдущая| |Следующая ⇒