Трехмерные графики функций


Трехмерные графики функций
Трехмерные графики функций Настройка проекта Реакции на сообщения Windows Подготовка окна Работа с контейнером Чтение данных Управление изображением с помощью мыши Включаем ани...
График по умолчанию
График по умолчанию Пришла пора создать тестовую поверхность у = f (x, z), которую мы будем демонстрировать по умолчанию, то есть до того, как пользователь обратился к файловому диалогу и выбр...
Работа с контейнером
Работа с контейнером Для работы с файлом мы пользовались буфером переменных типа BYTE. Для работы с данными в памяти значительно более удобной структурой данных является динамический контейнер...
Чтение данных
Чтение данных В теле следующей функции ReadData мы создадим файловый диалог, в контексте которого пользователь выбирает файл с новыми данными графика, затем вызовем функцию непосредственного ч...
Вид освещенной поверхности в 3D
Рисунок 7.1. Вид освещенной поверхности в 3D...
Управление изображением с помощью мыши
Управление изображением с помощью мыши Итак, мы собираемся управлять ориентацией изображения с помощью левой кнопки мыши. Перемещение курсора мыши при нажатой кнопке должно вращать изображение...
Включаем анимацию
Включаем анимацию Реакция на сообщение о том, что истек очередной квант времени в 33 миллисекунды (именно такую установку мы сделали в OnLButtonUp) выглядит очень просто. Увеличиваем углы пово...
Ввод новых команд
Ввод новых командВы заметили, что до сих пор обходились без каких-либо ресурсов. Мы не учитываем традиционный диалог About, планку меню главного окна, панель инструментов, две таблицы (строк и...
Вид поверхности при использовании режима GL_QUAD_STRIP
Рисунок 7.2. Вид поверхности при использовании режима GL_QUAD_STRIP Обработку следующей команды меню мы проведем в том же стиле, за исключением того, что переменная m_FillMode не является булев...
Вид поверхности созданной в режиме GL_LINE
Рисунок 7.3. Вид поверхности, созданной в режиме GL_LINE Для обмена с диалогом по управлению освещением нам понадобятся две вспомогательные функции GetLightParams и SetLightParam. Назначение пе...
Диалог по управлению светом
Диалог по управлению светом В окне редактора диалогов (Resource View > Dialog > Контекстное меню > Insert Dialog) создайте окно диалога по управлению светом, которое должно иметь такой...
Вид окна диалога по управлению параметрами света
Рисунок 7.4. Вид окна диалога по управлению параметрами света Обратите внимание на то, что справа от каждого движка расположен элемент типа static Text, в окне которого будет отражено текущее п...
Таблица 7 1 Идентификаторы элементов управления
Таблица 7.1. Идентификаторы элементов управления Элемент Идентификатор Диалог IDD_PROP...
Вид поверхности освещенной слева
Рисунок 7.5. Вид поверхности, освещенной слева...
Рисунок 7 6 Вид той же поверхности но освещенной справа
Рисунок 7.6. Вид той же поверхности, но освещенной справа убедились, что использование списка команд OpenGL повышает эффективность передачи сложного изображения; применили формулу вычисле...
Настройка проекта
Настройка проекта На странице VS Home Page выберите команду (гиперссылку) Create New Project. В окне диалога New Project выберите уже знакомый вам тип проекта: MFC Application, задайте им...
Вспомогательный класс
Вспомогательный класс Нам вновь, как и в предыдущем уроке, понадобится класс, инкапсулирующий функциональность точки трехмерного пространства CPoint3D. Контейнер объектов этого класса будет хр...
Реакции на сообщения Windows
Реакции на сообщения Windows Вспомните, как вы ранее вводили в различные классы реакции на сообщения Windows и повторите эти действия для класса cOGView столько раз, сколько необходимо, чтобы в...
Рисуем четырехугольниками
Рисуем четырехугольниками m_bQuad = true; //====== Начальный значения параметров освещения m_LightParam[0] = 50; // X position m_LightParam[l] = 80; // Y position m_LightParam[2] = 100; // Z...
Подготовка окна
Подготовка окна Вы помните, что подготовку контекста передачи OpenGL надо рассматривать как некий обязательный ритуал, в котором порядок действий определен. В этой процедуре выделяют следующие...
Реакция на сообщение о перерисовке
Реакция на сообщение о перерисовке В функции перерисовки должна выполняться стандартная последовательность действий, которая стирает back-буфер и буфер глубины, корректирует матрицу моделирован...
Параметры освещения
Параметры освещения Установка параметрпв освещения осуществляется подобно тому, как это делалось в предыдущем уроке. Но здесь мы храним все параметры для тога, чтобы можно было управлять освеще...
Установка цвета фона
Установка цвета фона Введите вспомогательную функцию, которая позволяет вычислить и изменить цвет фона окна OpenGL. Позже мы введем возможность выбора цвета фона с помощью стандартного диалога...
Подготовка изображения
Подготовка изображения Разработаем код функции DrawScene, которая готовит и запоминает изображение на основе координат вершин, хранимых в контейнере m_cPoints. Изображение по выбору пользовател...


- Начало -