logo search
кг часть 2

Алгоритм вывода окружность.

Для вывода контура круга можно использовать соотношение между координатами Х и Y и радиусы окружности: X2+Y2= R, на базе этого соотношения можно построить алгоритм прямого вычисления координат, для реализации данного алгоритма необходимо вычислить квадратный корень, а он выполняется медленно; для вывода окружности существует инкрементный алгоритм Брезенхема. В нем использована симметрия круга в основном цикле вычисляется координаты точек круга, только для одного октанта сразу после этого рисуется 8-мь симметрично распределенных пикселей. Инкрементный алгоритм для элемента подобен алгоритму для круга. В алгоритмах использована симметрия эллипса по квадратам.

Алгоритм состоит из 2х циклов: сначала х=0 до х=dxt= . Идет прорисовка точек элемента симметрично, а потом до x=a y=0.

→Кривые Безье

Описываются в параметрической форме.

Значение t выступает как параметр, который отвечает координат отдельной точки линии. Параметрическое описание более удобно, чем задание в виде функции. Для кривых функции может быть очень сложной и неоднозначной. Кривые Безье классифицируют по значениям точек ориентиров:

  1. по 2-м точкам; кривая вырождается в отрезок прямой линии

P(t)=(1-t)P0+tP1

  1. по 3-м точкам:

P(t)=(1-t)2P0+2t(1-t)P1+t2P2

  1. по 4-м точкам:

→Геометрический алгоритм для Безье:

Этот алгоритм позволяет выводить координаты точек Безье по значениям t.

  1. каждая сторона контура многоугольника проходящая по точкам ориентира делится пропорционально значению.

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

  3. стороны нового контура делятся пропорционально значению t и так далее.

До тех пор пока не будет получена единственная точка деления, эта точка и будет точкой кривой Безье.

→Алгоритм вывода фигур.

Фигура—плоский геометрический объект, который состоит из линий контура и точек внутри контура, в общем случае линий контура может быть несколько.

Например, когда объект имеет пустоты, тогда для описания необходимы 2 и более контура. Графически вывод фигуры разделяется на 2 задачи:

  1. вывод контура

  2. вывод точек заполнения

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

  1. Алгоритмы закрашивания от внутренних точек к границам контура.

  2. Алгоритм, который использует математическое описание контура.