- •1.Двумерные алгоритмы. Преобразование координат: сдвиг, поворот.
- •2.Двумерные алгоритмы. Окна и Области вывода. Отсечение линий (общее представление, простой алгоритм). Автоматический подбор размеров и позиций.
- •3.Двумерные алгоритмы Понятие о рекурсии. Понятие о фракталах. Сглаживание кривых.
- •4.Векторы. Скалярное и векторное произведения векторов.
- •5.Однородные координаты.
- •6.Перенос и повороты в трехмерном пространстве.
- •7.Видовое преобразование
- •8.Перспективное преобразование
- •9.Алгоритм определения невидимых линий.
- •10.Удаление невидимых линий и поверхностей. Алгоритмы плавающего горизонта и Робертса.
- •11.Алгоритм Варнока.
- •12.Алгоритмы построения криволинейных поверхностей.
- •13. Типы графических устройств: графические дисплеи на запоминающей трубке, векторные графические дисплеи с регенерацией изображения, растровые графические дисплеи с регенерацией изображения.
- •14. Устройство электронно-лучевой трубки, устройство цветной растровой элт.
- •16.Алгоритм брезенхема для генерации окружности
- •17.Заполнение многоугольников
- •19. Построение реалистических изображений. Простая модель освещенности. Определение нормали к поверхности. Определение вектора отражения.
- •20. Построение реалистических изображений. Закраска методами Гуро и Фонга.
- •22.Тени.
3.Двумерные алгоритмы Понятие о рекурсии. Понятие о фракталах. Сглаживание кривых.
Рекурсия:
В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия). Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.
Преимущество рекурсивного определения объекта заключается в том, что такое конечное определение теоретически способно описывать бесконечно большое число объектов. С помощью рекурсивной программы же возможно описать бесконечное вычисление, причём без явных повторений частей программы.
Фрактал — сложная геометрическая фигура, обладающая свойством самоподобия, то есть составленная из нескольких частей, каждая из которых подобна всей фигуре целиком.
СГЛАЖИВАНИЕ КРИВЫХ
В автоматизированном проектировании и управлении станками часто требуется построить гладкую кривую по набору заданных точек. Ограничимся пока анализом плоских кривых. Из нескольких возможных способов построения гладких кривых выберем форму В-сплайна. Из з аданной последовательности точек выбираются две соседние точки и между ними строится кривая кубического полинома на основе позиций четырех точек – двух уже упомянутых и двух соседних с ними точек. В-сплайн обеспечивает получение более гладких кривых, чем другие способы сглаживания за счет того, что получаемые кривые не проходят точно через заданные точки. Математическая гладкость кривых выражается в терминах непрерывности параметрических представлений x(t) и y(t) и их производных. К типа В-сплайна обладают свойством непрерывности даже вторых производных x’’(t) и y’’(t) в точке стыковки двух соседних сегментов кривой. На рисунке показано, как выглядят кривые , если нулевая, первая или вторая производная не непрерывны в некоторой точке .
Последняя кривая может считаться гладкой, но она не удовлетворяет строгим требованиям, которые выполняются в способе В-сплайна.
Рассмотрим этот метод в работе. Будем использовать параметрическое представление кривых. Любая точка части кривой между двумя заданными последовательными точками P и Q будет иметь координаты x(t) и y(t), где t увеличивается от 0 до 1, если отслеживается часть кривой от точки P до точки Q. Можно считать, что t – это время. Если имеются заданные точки
P0 (x0, y0),P1(x1 y1),…,Pn(xn yn),
То часть кривой В-сплайна между двумя последовательными точками Pi и Pi+1 получается путем вычисления значений функций x(t) и y(t) для изменения t от 0 до 1
x(t) = {(a3t + a2) t + a1}t +a0
y(t) = {(b3t + b2) t + b1}t +b0
Эти уравнения содержат следующие коэффициенты:
a3 = (- xi-1 + 3 xi – 3 xi+1 + xi+2)/6
a2 = (xi-1 – 2 xi+ xi+1)/2
a1 = (- xi-1 + xi+1)/2
a0 = (xi-1 + 4 xi + xi+1)/ 6,
а коэффициенты b1, b2, b3, b4 вычисляются по значениям yi-1, yi, yi+1/ yi+2 аналогичным образом..
двух соседних с ними точек. В-сплайн обеспечивает получение более гладких кривых, чем другие способы сглаживания за счет того, что получаемые кривые не проходят точно через заданные точки.