- •Оглавление
- •1.Аксонометрическая проекция. Виды аксонометрических проекций.
- •2.Алгоритм Брезенхейма для развертки отрезка
- •5.Косоугольные проекции Косоугольная фронтальная изометрия
- •Косоугольная горизонтальная изометрия
- •Косоугольная фронтальная диметрия
- •6.Кривые Безье (https://learn.Javascript.Ru/bezier)
- •7.Кубический сплайн
- •8.Матрицы аффинных преобразований в пространстве.
- •9.Матрицы аффинных преобразований на плоскости.
- •10.Метод z-буфера
- •12.Методы количественной невидимости
- •Алгоритм Аппеля.
- •Методы двоичного разбиения пространства.
- •13.Методы решения задач загораживания
- •1.Метод переборного типа.(«грубой силы»).
- •18. Метод z-буфера.
- •14.Особенности проекций гладких отображений
- •16.Растровая развертка отрезка
- •17.Растровое представление геометрических объектов
- •18.Тест принадлежности точки многоугольнику
- •19.Фракталы
- •20.Фрактальное сжатие
- •21.Заполнение многоугольников
- •23.Алгоритм Варнака
- •26.Методы приоритетов, метод художника
- •27.Алгоритм Ву
2.Алгоритм Брезенхейма для развертки отрезка
При построении растрового образа отрезка необходимо, прежде всего, установить критерии "хорошей" аппроксимации. Первое требование состоит в том, что отрезок должен начинаться и кончаться в заданных точках и при этом выглядеть сплошным и прямым (при достаточно высоком разрешении дисплея этого можно добиться). Кроме того, яркость вдоль отрезка должна быть одинаковой и не зависеть от наклона отрезка и его длины. Это требование выполнить сложнее, поскольку горизонтальные и вертикальные отрезки всегда будут ярче наклонных, а постоянная яркость вдоль отрезка опять же достигается на вертикальных, горизонтальных и наклоненных под углом в 45 линиях. И, наконец, алгоритм должен работать быстро. Для этого необходимо по возможности исключить операции с вещественными числами. С целью ускорения работы алгоритма можно также реализовать его на аппаратном уровне.
На рис. 8.2 это иллюстрируется для отрезка с угловым коэффициентом, лежащим в диапазоне от нуля до единицы. Из рисунка можно заметить, что если угловой коэффициент , то при выходе из точкипересечение с прямой будет ближе кпрямой , чем кпрямой . Следовательно, точка растралучше аппроксимирует прохождение отрезка, чем точка. Приверно обратное.
На рис. 8.3 показано, каким образом строятся точки растра для отрезка с тангенсом угла наклона , а нарис. 8.4 - графиксмещения. В начале построения смещение полагается равным , а затем на каждом шаге оно наращивается на величину, и если при этом вертикальная координата точки растра увеличивается на единицу, то смещение в своюочередь уменьшается на единицу.
На рис. 8.5 приведена блок-схема алгоритма для случая . Нетрудно понять, как от этого алгоритма перейти к целочисленному: достаточно вместо величины смещенияперейти к величине.
5.Косоугольные проекции Косоугольная фронтальная изометрия
Положение аксонометрических осей приведено на рис. 4, а. Аксонометрические оси Х и Z составляют угол 90°, а ось У образует угол 45° по отношению к горизонтальной линии. Этот угол допускается применять равный 30 или 60°.
Действительные коэффициенты искажения по осям Х, У, Z равны единице: u = v = w = 1. Соответственно линейные размеры предметов изображаются без искажения по всем трем осям.
Окружности, лежащие в плоскостях, параллельных фронтальной плоскости проекций, проецируются на аксонометрическую плоскость в виде окружности. Окружности, лежащие в плоскостях, параллельных горизонтальной и профильной плоскостям проекций, - в эллипсы (рис. 4, б).
Косоугольная горизонтальная изометрия
Косоугольная горизонтальная изометрическая проекция характерна тем, что все линии предмета, параллельные горизонтальной плоскости проекций, изображаются в горизонтальной изометрии без искажения.
Положение аксонометрических осей приведено на рис. 5, а. Аксонометрические оси Х и У составляют угол 90°, ось У образует угол 30° по отношению к горизонтальной линии. Этот угол допускается применять равный 45 или 60°.
Действительные коэффициенты искажения по осям Х, У, Z равны единице: u = v = w = 1. Соответственно линейные размеры предметов изображаются без искажения по всем трем осям.
Окружности, лежащие в плоскостях, параллельных горизонтальной плоскости проекций, проецируются на аксонометрическую плоскость в виде окружности. Окружности, лежащие в плоскостях, параллельных фронтальной и профильной плоскостям проекций, - в эллипсы (рис. 5, б).