Работа выполнена профессионально, на 100 баллов из 100! Спасибо!
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Код создания цилиндра:
{
// Матрица мирового преобразования:
const D3DXMATRIX worldMatrix = MatrixIdentity() * Scale(1.2, 1.1, 1) * RotX(10.2) * RotY(20.2) * RotZ(-24.8) * Trans(-4.9, 1.5, -2.6);
const shared_ptr ptr(new Cylinder(
device, // устройство вывода
8.3, // высота
2.5, // радиус
worldMatrix, // матрица мирового преобразования
L"MyTexture.bmp" // путь к файлу текстуры
));
vecGraphObjects.push_back(ptr);
}
Листинг программы:
// Макрос для включения поддержки Windows NT 4.0 и выше:
#define _WIN32_WINNT 0x0400
/* Заголовочные файлы: */
#include
#include
#include
#include "windows.h"
#include "windowsx.h"
#include "comip.h"
#include "d3d9.h"
#include "d3dx9.h"
#include "D3d9types.h"
/* Библиотечные файлы DirectX: */
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")
/* Библиотечный файл для поддержки интеллектуального указателя _com_ptr_t: */
#pragma comment(lib, "comsuppw.lib")
...
Отчет.
Анакин П.Н. 23бАСс1, номер зач. книжки: 155002
Параметр Обозначение Формула
(155002) – номер зачётной книжки, Mod – операция взятия остатка от деления) Результат
Высота цилиндра H H = 8.0 + (155002 Mod 400.0) / 1000.0 8.3
Радиус цилиндра R R = 2.5 + (155002 Mod 100.0) / 100.0 2.5
Масштабирование по оси X Sx Sx = 0.7 + (155002 Mod 600.0) / 1000.0 1.2
Масштабирование по оси Y Sy Sy = 0.8 + (155002 Mod 400.0) / 1000.0 1.1
Масштабирование по оси Y Sz Sz = 0.9 + (155002 Mod 200.0) / 1000.0 1.0
Поворот по оси X (градусов) Rx Rx = -20 + (155002 Mod 400.0) / 10.0 10.2
Поворот по оси Y (градусов) Ry Ry = -30 + (155002 Mod 600.0) / 10.0 20.2
Поворот по оси Z (градусов) Rz Rz = -45 + (155002 Mod 900.0) / 10.0 -24.8
Перенос по оси X Tx Tx = -5 + (155002 Mod 250.0) / 25.0 -4.9
Перенос по оси Y Ty Ty = -4 + (155002 Mod 560.0) / 70.0 1.5
Перенос по оси Z Tz Tz = -3 + (155002 Mod 360.0) / 60.0 -2.6
...
InitD3D(hWnd);
/* Главный цикл обработки оконных сообщений: */
MSG msg = { 0 };
while (true)
{
while (PeekMessage(&msg;, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg;);
DispatchMessage(&msg;);
}
if (msg.message == WM_QUIT)
break;
RenderFrame(hWnd);
}
}
catch (const std::exception& err)
{
::MessageBoxA(NULL, err.what(), "Ошибка в 'WinMain'", MB_ICONERROR | MB_OK);
}
catch (...)
{
::MessageBox(NULL, L"Неизвестная ошибка", L"Ошибка в 'WinMain'", MB_ICONERROR | MB_OK);
}
return 0;
}
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Код создания цилиндра:
{
// Матрица мирового преобразования:
const D3DXMATRIX worldMatrix = MatrixIdentity() * Scale(1.2, 1.1, 1) * RotX(10.2) * RotY(20.2) * RotZ(-24.8) * Trans(-4.9, 1.5, -2.6);
const shared_ptr ptr(new Cylinder(
device, // устройство вывода
8.3, // высота
2.5, // радиус
worldMatrix, // матрица мирового преобразования
L"MyTexture.bmp" // путь к файлу текстуры
));
vecGraphObjects.push_back(ptr);
}
Листинг программы:
// Макрос для включения поддержки Windows NT 4.0 и выше:
#define _WIN32_WINNT 0x0400
/* Заголовочные файлы: */
#include
#include
#include
#include "windows.h"
#include "windowsx.h"
#include "comip.h"
#include "d3d9.h"
#include "d3dx9.h"
#include "D3d9types.h"
/* Библиотечные файлы DirectX: */
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")
/* Библиотечный файл для поддержки интеллектуального указателя _com_ptr_t: */
#pragma comment(lib, "comsuppw.lib")
...
Отчет.
Анакин П.Н. 23бАСс1, номер зач. книжки: 155002
Параметр Обозначение Формула
(155002) – номер зачётной книжки, Mod – операция взятия остатка от деления) Результат
Высота цилиндра H H = 8.0 + (155002 Mod 400.0) / 1000.0 8.3
Радиус цилиндра R R = 2.5 + (155002 Mod 100.0) / 100.0 2.5
Масштабирование по оси X Sx Sx = 0.7 + (155002 Mod 600.0) / 1000.0 1.2
Масштабирование по оси Y Sy Sy = 0.8 + (155002 Mod 400.0) / 1000.0 1.1
Масштабирование по оси Y Sz Sz = 0.9 + (155002 Mod 200.0) / 1000.0 1.0
Поворот по оси X (градусов) Rx Rx = -20 + (155002 Mod 400.0) / 10.0 10.2
Поворот по оси Y (градусов) Ry Ry = -30 + (155002 Mod 600.0) / 10.0 20.2
Поворот по оси Z (градусов) Rz Rz = -45 + (155002 Mod 900.0) / 10.0 -24.8
Перенос по оси X Tx Tx = -5 + (155002 Mod 250.0) / 25.0 -4.9
Перенос по оси Y Ty Ty = -4 + (155002 Mod 560.0) / 70.0 1.5
Перенос по оси Z Tz Tz = -3 + (155002 Mod 360.0) / 60.0 -2.6
...
InitD3D(hWnd);
/* Главный цикл обработки оконных сообщений: */
MSG msg = { 0 };
while (true)
{
while (PeekMessage(&msg;, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg;);
DispatchMessage(&msg;);
}
if (msg.message == WM_QUIT)
break;
RenderFrame(hWnd);
}
}
catch (const std::exception& err)
{
::MessageBoxA(NULL, err.what(), "Ошибка в 'WinMain'", MB_ICONERROR | MB_OK);
}
catch (...)
{
::MessageBox(NULL, L"Неизвестная ошибка", L"Ошибка в 'WinMain'", MB_ICONERROR | MB_OK);
}
return 0;
}
Купить эту работу vs Заказать новую | ||
---|---|---|
1 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—5 дней |
200 ₽ | Цена | от 200 ₽ |
Не подошла эта работа?
В нашей базе 51749 Контрольных работ — поможем найти подходящую