Расчеты
Все расчетные формулы для выполнения проецирования объекта на плоскость были получены в лекционном материале в теме «Проецирование».Построение прямых линий производилось параметрическим способом. Интерполяция яркости производилась по значениям глубины h, хранящейся в буфере глубины. Буфер глубины 8-разрядный (значения h изменяются от 0 до 255).
В буфер глубины записывается значение
,
где S – глубина пространственной точки.
,
где A и B некоторые константы, определяемые (для данной программы) hmax=255, Smin=5, Smax=180.
Данные расчетные формулы были приведены в лекционном материале в теме “Алгоритм с использованием буфера глубины”.
Закраска граней происходит по алгоритму построчного сканирования.
Инструкция по использованию
Клавиша |
Описание |
PgUp |
Переместиться 2-ой объект вверх |
PgDown |
Переместиться 2-ой объект вниз |
Ctrl+ |
Переместиться 2-ой объект влево |
Ctrl+ |
Переместиться 2-ой объект вправо |
Del |
Проволочный вид |
+ |
Увеличение значения фокусного расстояния |
– |
Уменьшение значения фокусного расстояния |
Home |
Приблизиться к объекту |
End |
Удалиться от объекта |
|
Переместиться вверх |
|
Переместиться вниз |
|
Переместиться влево |
|
Переместиться вправо |
F1 |
Вывести информацию по управляющим клавишам |
F2 |
Включение / выключение координатных осей |
F3 |
Вращение объекта справа налево |
F4 |
Вращение объекта слева направо |
F5 |
Вращение объекта сверху вниз |
F6 |
Вращение объекта снизу вверх |
F7 |
Вращение объекта по часовой стрелке |
F8 |
Вращение объекта против часовой стрелки |
F9, F10 |
Вращение объекта в различных направлениях |
1...9, 0 |
Вкл./выкл. отображения граней объекта |
Esc |
Выход из программы |
При нажатии клавиши F2 происходит включение или выключение трех координатных осей.
При нажатии цифровых клавиш от 1 до 9 или 0 происходит отображение (закраска) некоторой определенной грани, описанной во внешнем файле описания объекта.
При повторном нажатии этой же цифровой клавиши закраска соответствующей грани снимается.
При приближении объекта к наблюдателю объект становится ярче, и наоборот, при удалении от объекта, объекта темнеет.
Данные об объектах хранятся в файлах Object# .3d.
Где # - номер объекта
Описание формата файла с данными об объекте Object# .3d
Запись |
Пояснение |
P=xp,yp,zp |
Координаты xp,yp,zp наблюдателя |
L=xl,yl,zl |
Координаты xl,yl,zl точки фиксации взгляда |
F=f |
Фокусное расстояние f |
1=x1,y1,z1 |
Координаты x1,y1,z1 первой вершины |
2=x2,y2,z2 |
Координаты x2,y2,z2 второй вершины |
... |
и т.д. |
n=xn,yn,zn |
Координаты xn,yn,zn последней n-ой вершины |
0 |
Символ «0» (для разделения) |
1=va,vb,...,vn |
Последовательный список номеров вершин va,vb,...,vn , задающих первую грань |
... |
и т.д. |
k=vc,vd,...,vz |
Последовательный список номеров вершин vc,vd,...,vz , задающих последнюю грань k |
0 |
Символ «0» (для разделения) |
Перевод Каретки |
Необходимо для указания конца файла |
