 
        
        Жарков В.А. - Visual C++ 2005, DirectX 9.0c и Microsoft Agent в компьютерной графике, мультимедиа и играх (Листинги книги) - 2005
.pdfДоктор технических наук
Валерий Алексеевич Жарков
Visual C++ 2005,
DirectX 9.0c
и Microsoft Agent в
компьютерной графике,
мультимедиа и играх (Листинги книги)
Москва
«Жарков Пресс»
2005
УДК 681.3. ББК 32.973 Ж35 ISBN 5-94212-010-2
Жарков В.А. Visual C++ 2005, DirectX 9.0c и Microsoft Agent
в компьютерной графике, мультимедиа и играх. – М.: Жарков Пресс, 2005. – 818 страниц с компакт-диском.
Это первая в мире книга по языку высокого уровня Visual C++ 2005 с новейшим синтаксисом из платформы Visual Studio 2005, которую издательство “Жарков Пресс” получило непосредственно от корпорации Microsoft. Разработаны методологии создания вычислительных систем, двухмерной и трехмерной графики, мультимедиа, анимации, мультипликации, аудио, видео и игр на основе Visual C++ 2005 и новейшей технологии DirectX 9.0c. Впервые в мире приведены мощные программы на языках Visual C++, Visual Basic и Visual C# версий 2002-2005 годов для построения и управления разнообразными трехмерными телами, поверхностями и линиями уровней этих поверхностей в трехмерном пространстве. Мультимедийные приложения и игры основаны на технологии Microsoft Agent, которая позволяет создавать и включать в Windows- и Web-приложения интерактивные (через голосовые команды в микрофон) анимационные персонажи. Все программы даны также и на компакт-диске.
Для построения вычислительных и графических систем использована интеграция Visual C++ с Visual Basic и Visual C#, а также с SQL Server 2005, Windows Media Player 10 и др. Дано введение в Web-
программирование и Web-службы. Представлены не имеющие аналогов в мире программы анимации и мультипликации. Даны концепции визуального программирования, методологии проектирования и применения на практике, в учебе и науке таких систем. 2D и 3D графика. Воспроизведение аудио, видео и мультимедиа. Базы данных и системы управления ими. Системы компьютерной математики. Персональные и корпоративные вычислительные системы. Расчеты поверхности, объема и массы типичных изделий. Оптимальный раскрой материалов. Аналитическое и численное математическое моделирование. Решение задач и расчеты методом конечных элементов (МКЭ). Системы компьютерного проектирования техпроцессов (CAD/CAM system). Упругость, пластичность, механика деформирования и обработка давлением материалов. Приведена методика передачи пользователю разработанных нами приложений. Все программы из книги и с ком- пакт-диска могут быть вставлены в различные приложения Visual Studio 2002-2005 годов.
Предназначена для всех желающих быстро изучить новейший самый современный, совершенный и мощный (в мире программирования) язык высокого уровня Visual C++ 2005, сразу же создавать на этом языке последних версий 2002-2005 го-
дов (Visual C++ 2005, Visual C++ .NET 2003 и Visual C++ .NET 2002) мощные про-
фессиональные приложения и применять их на практике в разнообразных сферах деятельности. Также адресована начинающим и опытным пользователям, программистам любой квалификации, инженерно-техническим работникам, конструкторам, технологам, математикам и механикам, а также учащимся и слушателям курсов, студентам, аспирантам, учителям, преподавателям, научным работникам и ученым.
Все права защищены. Никакая часть этой книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения издательства. Лицензия на издательскую деятельность: Серия ИД № 02107 от 21 июня 2000 г. Печать офсетная. Бумага офсетная. Заказ
820.Отпечатано в типографии ООО “Алвиан”: 115583, Москва, ул. Генерала Белова, 26.
©В.А. Жарков, 2005
| ISBN 5-94212-010-2 | © Издательство “Жарков Пресс”, 2005 | 
| Оглавление | 
 | |
| Введение..................................................................................................................... | 10 | |
| ЧАСТЬ I. КРАТКИЕ ОСНОВЫ НОВОГО СИНТАКСИСА | 
 | |
| VISUAL C++ 2005 ........................................................................... | 11 | |
| Глава 1. Базовые сведения о новом синтаксисе Visual C++ 2005 и основные | ||
| определения книги........................................................................................................... | 11 | |
| Глава 2. Методика разработки приложений для выполнения расчетов с | 
 | |
| эффектами анимации...................................................................................................... | 12 | |
| Глава 3. Методика разработки приложений на нескольких формах............. | 16 | |
| ЧАСТЬ II. МЕТОДОЛОГИЯ ПРОЕКТИРОВАНИЯ ГРАФИКИ И | ||
| ПЕЧАТИ НА ПРИНТЕРЕ................................................................ | 18 | |
| Глава 4. Краткие сведения о графических возможностях Visual Studio ........ | 18 | |
| Глава 5. | Рисование линий на форме или элементах управления и общая | 
 | 
| методика печати изображений на принтере ............................................................... | 19 | |
| Глава 6. | Рисование сложных линий на форме и элементах управления....... | 22 | 
| Глава 7. | Рисование заполненных фигур на форме и элементах управления24 | |
| Глава 8. | Рисование текста ...................................................................................... | 25 | 
ЧАСТЬ III. МЕТОДОЛОГИЯ ВЫЧИСЛЕНИЙ НА ОСНОВЕ VISUAL C++ С ИСПОЛЬЗОВАНИЕМ ЭФФЕКТОВ АНИМАЦИИ26
| Глава 9. Методика создания вычислительной системы................................... | 26 | |
| Глава 10. | Арифметические вычисления.............................................................. | 27 | 
| Глава 11. | Разработка стандартного калькулятора............................................ | 29 | 
| Глава 12. | Вычисление процентов.......................................................................... | 33 | 
| Глава 13. | Степени, корни, логарифмы и факториалы...................................... | 35 | 
| 4 Жарков В.А. Компьютерная графика, мультимедиа и игры на Visual C++ 2005 | ||
| ЧАСТЬ IV. МЕТОДОЛОГИЯ СОЗДАНИЯ ГРАФИЧЕСКОЙ | 
 | |
| СИСТЕМЫ В ДВУХМЕРНОМ ПРОСТРАНСТВЕ......................... | 38 | |
| Глава 14. | Алгоритмы и оглавление графической системы .............................. | 38 | 
| Глава 15. | График линейной функции .................................................................. | 39 | 
| Глава 16. | Графики типичных функций ............................................................... | 48 | 
| Глава 17. | Рисование при помощи перемещения мыши .................................... | 52 | 
| Глава 18. | Рисование линий при помощи нажатия кнопки мыши .................. | 54 | 
| Глава 19. | Рисование прямоугольников и эллипсов при помощи нажатия | 
 | 
| кнопки мыши.................................................................................................................... | 56 | |
| Глава 20. | Рисование заполненных прямоугольников и эллипсов при | 
 | 
| помощи нажатия кнопки мыши ................................................................................... | 58 | |
| Глава 21. | Непрерывный график - осциллограмма и его проверка при | 
 | 
| помощи диспетчера задач и файла подкачки............................................................. | 60 | |
| ЧАСТЬ V. МЕТОДОЛОГИЯ СОЗДАНИЯ ГРАФИЧЕСКОЙ | 
 | |
| СИСТЕМЫ В ТРЕХМЕРНОМ ПРОСТРАНСТВЕ ......................... | 62 | |
| Глава 22. | Теория и алгоритмы системы .............................................................. | 62 | 
| Глава 23. | Методика создания графической системы на основе интеграции | |
| Visual C++ с Visual Basic, Visual C# и другими языками.......................................... | 63 | |
| Глава 24. | Изображение и управление трехмерными объектами в трехмерном | |
| пространстве | ..................................................................................................................... | 64 | 
| Глава 25. | Изображение и управление трехмерными объектами на Visual | 
 | 
| Basic для интеграции с Visual C++, Visual C# и другими языками......................... | 85 | |
| Глава 26. | Изображение и управление трехмерными объектами на Visual C# | |
| для интеграции .............................с Visual C++, Visual Basic и другими языками | 104 | |
| Глава 27. | Изображение объектов в проекте Visual C++ по данным из другого | |
| проекта Visual ........................................................C++, Visual Basic или Visual C# | 123 | |
| Глава 28. | Изображение объектов в проекте Visual C# по данным из проекта | |
| Visual C++, Visual ........................................................................Basic или Visual C# | 126 | |
 
| Оглавление | 5 | |
| Глава 29. | Изображение и управление поверхностями в трехмерном | 
 | 
| пространстве на Visual C# для интеграции с Visual C++, Visual Basic и другими | ||
| языками........................................................................................................................... | 
 | 129 | 
| Глава 30. | Изображение и управление поверхностями в трехмерном | 
 | 
| пространстве на Visual Basic для интеграции с Visual C++, Visual C# и другими | ||
| языками........................................................................................................................... | 
 | 139 | 
| Глава 31. Изображение поверхностей в проекте Visual C++ по данным из | ||
| проекта Visual C# или Visual Basic.............................................................................. | 149 | |
| Глава 32. Расчет и изображение линий уровня поверхности на Visual C# для | ||
| интеграции с Visual C++, Visual Basic и другими языками.................................... | 152 | |
| Глава 33. Расчет и изображение линий уровня поверхности на Visual Basic | ||
| для интеграции с Visual C++, Visual C# и другими языками................................. | 158 | |
| Глава 34. Изображение линий уровня поверхности в проекте Visual C++ по | ||
| данным из проекта Visual C# или Visual Basic ......................................................... | 164 | |
| Глава 35. Изображение объектов на Visual C++, Visual Basic и Visual C++ на | ||
| основе интеграции по методике “компонент - клиент”.......................................... | 166 | |
| ЧАСТЬ VI. МЕТОДОЛОГИЯ СОЗДАНИЯ АНИМАЦИОННОЙ | ||
| ТРЕХМЕРНОЙ ГРАФИКИ НА ОСНОВЕ НОВЫХ ВЕРСИЙ | 
 | |
| VISUAL C++ И DIRECTX.............................................................. | 171 | |
| Глава 36. Методика проектирования неподвижных и подвижных плоских | ||
| фигур................................................................................................................................ | 
 | 171 | 
| Глава 37. Методика проектирования неподвижных и подвижных | 
 | |
| пространственных фигур ............................................................................................. | 187 | |
| ЧАСТЬ VII. МЕТОДОЛОГИЯ РАЗРАБОТКИ МУЛЬТИМЕДИА | ||
| И ИГР НА ОСНОВЕ MICROSOFT AGENT.................................. | 204 | |
| Глава 38. Загрузка и установка компонентов Microsoft Agent ...................... | 204 | |
| Глава 39. Методика управления мультипликационными персонажами.... | 205 | |
| Глава 40. Вывод на экран выступлений и анимаций всех персонажей....... | 215 | |
| Глава 41. Методика создания компьютерных игр и мультфильмов............ | 226 | |
6 Жарков В.А. Компьютерная графика, мультимедиа и игры на Visual C++ 2005
| Глава 42. Пример Интернет-магазина на основе Microsoft Agent................. | 230 | 
| Глава 43. Построение графика по точкам эксперимента и интеграция с | 
 | 
| мультипликационными персонажами MS Agent..................................................... | 231 | 
| ЧАСТЬ VIII. МЕТОДОЛОГИЯ АНИМАЦИИ ОБЪЕКТОВ..... | 237 | 
| Глава 44. Оглавление системы программ для анимации объектов ............. | 237 | 
| Глава 45. Варианты часов с цифровой индикацией, индикаторами | 
 | 
| прогресса и датой........................................................................................................... | 238 | 
| Глава 46. Вращение линии ................................................................................... | 241 | 
| Глава 47. Управляемое вращение линии........................................................... | 243 | 
| Глава 48. Управляемое вращение и перемещение фигуры............................ | 245 | 
| Глава 49. Управляемое заполнение фигур ........................................................ | 248 | 
| Глава 50. Управляемый мигающий текст......................................................... | 250 | 
| Глава 51. Методика изображения летающих предметов................................ | 251 | 
| Глава 52. Методика анимации градиентного заполнения текста цветом... | 258 | 
| Глава 53. Вращающееся градиентное заполнение фигур цветом ................. | 264 | 
| Глава 54. Изображение кругов на воде с использованием двойной | 
 | 
| буферизации.................................................................................................................... | 265 | 
| Глава 55. Анимация текста в консольном приложении................................. | 268 | 
| ЧАСТЬ IX. МЕТОДОЛОГИЯ СОЗДАНИЯ, | 
 | 
| КОНВЕРТИРОВАНИЯ И МУЛЬТИПЛИКАЦИИ ИЗОБРАЖЕНИЙ | |
| НА ФОРМЕ................................................................................... | 270 | 
| Глава 56. Методика задания, конвертирования и замены изображений..... | 270 | 
| Глава 57. Методика разработки мультипликации .......................................... | 273 | 
| Глава 58. Разработка мультипликации при помощи списка рисунков....... | 277 | 
 
| Оглавление | 7 | 
| Глава 59. Методика управления цветом изображения.................................... | 278 | 
| ЧАСТЬ X. ВОСПРОИЗВЕДЕНИЕ АУДИО И ВИДЕО ПРИ | 
 | 
| ПОМОЩИ VC++ 2005 И WMP 10 ................................................ | 282 | 
| Глава 60. Оглавление приложения по интеграции Visual C++ с Windows | |
| Media Player..................................................................................................................... | 282 | 
| Глава 61. Воспроизведение аудио файлов из приложения Visual C++ ......... | 283 | 
| Глава 62. Воспроизведение видео файлов из приложения Visual C++ ......... | 284 | 
| ЧАСТЬ XI. ИНТЕГРАЦИЯ VISUAL C++ С MICROSOFT | 
 | 
| WINDOWS EXPLORER, NOTEPAD, WORDPAD, CALCULATOR, | |
| POWERPOINT, FRONTPAGE, INTERNET EXPLORER, ВЕБ- | 
 | 
| КОМПОНЕНТАМИ И ВЕБ-СЛУЖБАМИ ..................................... | 285 | 
| Глава 63. Открытие Windows Explorer, NotePad, WordPad, Calculator, | 
 | 
| PowerPoint и FrontPage ................................................................................................. | 285 | 
| Глава 64. Интеграция Visual C++ с браузером Internet Explorer................... | 288 | 
| Глава 65. Установка веб-компонентов Windows для веб-программирования | |
| на основе ASP.NET......................................................................................................... | 290 | 
| Глава 66. Методика разработки веб-службы .................................................... | 291 | 
| ЧАСТЬ XII. СОЗДАНИЕ БАЗ ДАННЫХ И ИНТЕГРАЦИЯ С | |
| ДРУГИМИ СУБД........................................................................... | 293 | 
| Глава 67. Создание баз и наборов данных......................................................... | 293 | 
| Глава 68. Разработка баз данных при помощи шаблонов на основе SQL | 
 | 
| Server 2005 ....................................................................................................................... | 294 | 
| ЧАСТЬ XIII. ПРИЛОЖЕНИЯ VISUAL C++ ДЛЯ | 
 | 
| ИСПОЛЬЗОВАНИЯ НА ПРАКТИКЕ, НАПРИМЕР, В | 
 | 
| ПРОМЫШЛЕННОСТИ................................................................. | 295 | 
| Глава 69. Алгоритмы для расчета площади, объема и массы изделий и | 
 | 
| заготовок.......................................................................................................................... | 295 | 
8 Жарков В.А. Компьютерная графика, мультимедиа и игры на Visual C++ 2005
| Глава 70. Консольное приложение для расчета массы изделий.................... | 296 | 
| Глава 71. Вычисление массы изделий при помощи формы........................... | 299 | 
| ЧАСТЬ XIV. ПРИЛОЖЕНИЯ VISUAL C++ ДЛЯ | 
 | 
| ИСПОЛЬЗОВАНИЯ В УЧЕБЕ И НАУКЕ .................................... | 303 | 
| Глава 72. Ввод в систему свойств материалов для изготовления изделий .303 | |
| Глава 73. Математическое моделирование обработки заготовки при помощи | |
| аналитических решений............................................................................................... | 304 | 
| Глава 74. Математическое моделирование обработки заготовки при | 
 | 
| помощи метода конечных элементов......................................................................... | 305 | 
| Глава 75. Математическое моделирование и графика для типичных | 
 | 
| техпроцессов.................................................................................................................... | 306 | 
| Глава 76. Методология учета анизотропии материала при проектировании | |
| техпроцесса изготовления изделия............................................................................. | 307 | 
| Глава 77. Методология проектирования техпроцессов изготовления изделий | |
| коробчатой формы......................................................................................................... | 308 | 
| ЧАСТЬ XV. МЕТОДОЛОГИЯ СОЗДАНИЯ И ВНЕДРЕНИЯ | 
 | 
| СИСТЕМ КОМПЬЮТЕРНОГО ПРОЕКТИРОВАНИЯ................. | 309 | 
| Глава 78. Оптимизация раскроя материалов................................................... | 309 | 
| Глава 79. Система компьютерного проектирования техпроцессов.............. | 310 | 
| Глава 80. Проектирование заготовительных операций подготовки | 
 | 
| материала........................................................................................................................ | 312 | 
| Глава 81. Проектирование операций изготовления заготовок...................... | 316 | 
| Глава 82. Проектирование операций обработки заготовок........................... | 319 | 
| Глава 83. Проектирование финишных операций изготовления изделий.... | 321 | 
| ЧАСТЬ XVI. ПЕРЕДАЧА ПРИЛОЖЕНИЯ ЗАКАЗЧИКУ....... | 323 | 
| Глава 84. Методика передачи приложения пользователю............................. | 323 | 
 
| Оглавление | 9 | 
| Заключение.............................................................................................................. | 324 | 
| Описание содержимого компакт-диска и схема использования................... | 325 | 
| Список литературы................................................................................................ | 326 | 
