ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Автоматизированная систСма Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenGL

Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π§Ρ‚ΠΎ ΠΆΠ΅ прСдставляСт ΠΈΠ· ΡΠ΅Π±Ρ OpenGL? Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программиста OpenGL — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс для графичСских устройств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ графичСскиС ускоритСли. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ ΠΎΠΊΠΎΠ»ΠΎ 150 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³. Говоря Π±ΠΎΠ»Π΅Π΅ простым языком, Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π·Π°Π΄Π°Ρ‘Ρ‚Π΅ ΠΈΡ… ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Автоматизированная систСма Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenGL (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

1. ΠŸΠ Π•Π”ΠŸΠ ΠžΠ•ΠšΠ’ΠΠ«Π• Π˜Π‘Π‘Π›Π•Π”ΠžΠ’ΠΠΠ˜Π―

1.1 ОписаниС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

1.2 Анализ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² систСмы

1.3 ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° тСхничСской ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ систСмы

1.4 ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

1.5 Π—Π°Π΄Π°Ρ‡ΠΈ выпускной Ρ€Π°Π±ΠΎΡ‚Ρ‹

2. ΠΠΠΠ›Π˜Π— Π—ΠΠ”ΠΠ§Π˜

2.1 Анализ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы

2.1.1 Анализ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠ²Π½Ρ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

2.1.2 Анализ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

2.1.3 Анализ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

2.2 Анализ шаблона графичСского прилоТСния

2.2.1 Анализ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

2.1.2 Анализ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

3. Π ΠΠ—Π ΠΠ‘ΠžΠ’ΠšΠ ΠΠ›Π“ΠžΠ Π˜Π’ΠœΠžΠ’ Π Π•Π¨Π•ΠΠ˜Π― Π—ΠΠ”ΠΠ§Π˜

3.1 Автоматизированная систСма Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

3.1.1 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…»

3.1.2 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ация Ρ„Π°ΠΉΠ»Π°»

3.1.3 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π“СнСрация шаблона»

3.2 Π¨Π°Π±Π»ΠΎΠ½ графичСского прилоТСния

3.2.1 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ OpenGL»

3.2.2 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° 3D Ρ„Π°ΠΉΠ»Π°»

3.2.3 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π’Ρ‹Π²ΠΎΠ΄ 3D Ρ„Π°ΠΉΠ»Π° Π½Π° ΡΠΊΡ€Π°Π½»

4. Π‘Π˜ΠΠ’Π•Π— ΠŸΠ ΠžΠ“Π ΠΠœΠœΠΠžΠ“Πž ΠžΠ‘Π•Π‘ΠŸΠ•Π§Π•ΠΠ˜Π―

4.1 АрхитСктура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

4.2 Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ пространство систСмы

4.3 Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

5. Π’Π•Π‘Π’Π˜Π ΠžΠ’ΠΠΠ˜Π• Π‘Π˜Π‘Π’Π•ΠœΠ«

6. ΠžΠ¦Π•ΠΠšΠ Π­ΠšΠžΠΠžΠœΠ˜Π§Π•Π‘ΠšΠžΠ™ Π­Π€Π€Π•ΠšΠ’Π˜Π’ΠΠžΠ‘Π’Π˜ ΠŸΠ Π˜ΠœΠ•ΠΠ•ΠΠ˜Π― ΠŸΠ ΠžΠ“Π ΠΠœΠœΠΠžΠ“Πž ΠžΠ‘Π•Π‘ΠŸΠ•Π§Π•ΠΠ˜Π― И ΠžΠŸΠ Π•Π”Π•Π›Π•ΠΠ˜Π• Π•Π“Πž ЦЕНЫ

6.1 ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ расчСта ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ эффСктивности

6.2 РасчСт экономичСской эффСктивности примСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Ρ†Π΅Π½Ρ‹

7. ОΠ₯РАНА ВРУДА

7.1 Π₯арактСристика Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мСста

7.2 ВыявлСниС ΠΈ Π°Π½Π°Π»ΠΈΠ· опасных ΠΈ Π²Ρ€Π΅Π΄Π½Ρ‹Ρ… эксплуатационных Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π·ΠΎΠ½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ издСлия

7.3 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° мСроприятий ΠΏΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ ослаблСнию Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ воздСйствия опасных ΠΈ Π²Ρ€Π΅Π΄Π½Ρ‹Ρ… эксплуатационных Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ…

7.4 ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ экологичСской бСзопасности функционирования ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Бписок использованной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

БСйчас Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ изобраТСния ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Π΅Π·Π΄Π΅, начиная ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ систСмами модСлирования Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. РаньшС, ΠΊΠΎΠ³Π΄Π° трёхмСрная Π³Ρ€Π°Ρ„ΠΈΠΊΠ° сущСствовала Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΎ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ стандарта Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ писались с «Π½ΡƒΠ»Ρ» ΠΈΠ»ΠΈ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°, Π½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π»ΠΈΡΡŒ свои ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для отобраТСния графичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π‘ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠΌ ΠΌΠΎΡ‰Π½Ρ‹Ρ… процСссоров ΠΈ Π³Ρ€Π°Ρ„ичСских ускоритСлСй трёхмСрная Π³Ρ€Π°Ρ„ΠΈΠΊΠ° стала Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ для ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Но Π² Ρ‚ΠΎΠΆΠ΅ врСмя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ — это отсутствиС ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ стандартов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволяли ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, нСзависимыС ΠΎΡ‚ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Одним ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΡ… стандартов, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈ ΠΏΠΎ ΡΠ΅ΠΉ дСнь, являСтся OpenGL.

OpenGL — это графичСский стандарт Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… популярных графичСских стандартов Π²ΠΎ Π²ΡΡ‘ΠΌ ΠΌΠΈΡ€Π΅. Π•Ρ‰Ρ‘ Π² 1982 Π³. Π² БтСнфордском унивСрситСтС Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° концСпция графичСской ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΠΈΡ€ΠΌΠ° Silicon Graphics Π² ΡΠ²ΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции Silicon IRIS Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. На ΠΎΡΠ½ΠΎΠ²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ IRIS GL, Π² 1992 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½ графичСский стандарт OpenGL. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ OpenGL — это ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠ΅ Ρ„ΠΈΡ€ΠΌΡ‹ Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС: Silicon Graphics, Inc., Microsoft, IBM Corporation, Sun Microsystems, Inc., Digital Equipment Corporation (DEC), Evans & Sutherland, Hewlett-Packard Corporation, Intel Corporation ΠΈ Intergraph Corporation.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Ρ€Π°Π· использовал возмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenGL, ΠΌΠΎΠ³ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΈΡ… Π³Π΅ΠΎΠΌΠ΅Ρ‚ричСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚) являСтся слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, это явлСниС ΠΈΠΌΠ΅Π΅Ρ‚ мСсто вслСдствиС отсутствия наглядности — ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ приходится ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΏΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ рассчитанным зависимостям.

Как ΠΆΠ΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ? ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ — для создания ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сторонниС прилоТСния. ИмСнно Ρ‚Π°ΠΊ сСйчас ΠΈ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ³Ρ€Π°Ρ…. Как ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ графичСский интСрфСйс ΠΈ ΡƒΠΌΠ΅Ρ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для чтСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для создания ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ирования Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, CAD систСмы.

И Ρ‚Π°ΠΊ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ всСго сказанного, становится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenGL. ЦСлью этой Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

1) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Π²Ρ…ΠΎΠ΄ графичСских Ρ„Π°ΠΉΠ»ΠΎΠ² 3D ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (Ρ„Π°ΠΉΠ» с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для использования Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ… ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenGL);

2) гСнСрация минимального прилоТСния (шаблона), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ возмоТности OpenGL, с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊ Π½Π΅ΠΌΡƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ простой интСрфСйс ΠΏΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΠΈ с ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ (ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ„Π°ΠΉΠ»Π΅, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Ρ‚. Π΄.).

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ шаблон ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ для Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

НаличиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Π½Π΅ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎ, Ρ‚.ΠΊ. это прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ прилоТСниями.

Данная выпускная Ρ€Π°Π±ΠΎΡ‚Π° состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй:

1) основная Ρ‡Π°ΡΡ‚ΡŒ;

2) экономичСская Ρ‡Π°ΡΡ‚ΡŒ;

3) вопросы бСзопасности ΠΆΠΈΠ·Π½Π΅Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ части выпускной Ρ€Π°Π±ΠΎΡ‚Ρ‹ содСрТатся Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹:

1) ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Π΅ исслСдования;

2) Π°Π½Π°Π»ΠΈΠ· Π·Π°Π΄Π°Ρ‡ΠΈ;

3) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ;

4) синтСз ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния;

5) тСстированиС систСмы.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Π΅ исслСдования» Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ выпускной Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ ΡΡƒΡ‚ΡŒ самой Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠžΠ±ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния. ΠžΠ±ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ Π²Ρ‹Π±ΠΎΡ€ тСхничСского обСспСчСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ для развСртывания создаваСмой систСмы. А Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ систСм.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «ΠΠ½Π°Π»ΠΈΠ· Π·Π°Π΄Π°Ρ‡ΠΈ» формулируСтся Π·Π°Π΄Π°Ρ‡Π° систСмы Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚вляСтся Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ дСтализация. ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ состав ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ уровня. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° коррСктности назначСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ уровня.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ» приводятся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°Π±ΠΎΡ€Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, выявлСнных Π² Ρ…ΠΎΠ΄Π΅ Π°Π½Π°Π»ΠΈΠ·Π°. Для описания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ любой ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ: Ρ„ΠΎΡ€ΠΌΡƒΠ»ΡŒΠ½Ρ‹ΠΉ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊ схСм, лингвистичСский. УточняСтся Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ систСмы Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π‘ΠΈΠ½Ρ‚Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния» описываСтся состав ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ взаимосвязи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†. ΠžΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΠΌΠ΅ΠΆΠ΄Ρƒ основными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠžΠ±ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ выбранная структура интСрфСйса, ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ся Π΅Π³ΠΎ элСмСнты ΠΈ Ρ‚Схнология примСнСния.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π’СстированиС» ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ созданного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π’ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ части выпускной Ρ€Π°Π±ΠΎΡ‚Ρ‹, содСрТаниС ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ€Π°Π·Π΄Π΅Π»Π° уточняСтся ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ части.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΎΡ…Ρ€Π°Π½Ρ‹ Ρ‚Ρ€ΡƒΠ΄Π°, содСрТаниС ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ€Π°Π·Π΄Π΅Π»Π° уточняСтся ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Π²ΠΎΠΏΡ€ΠΎΡΠ°ΠΌ обСспСчСния ΠΆΠΈΠ·Π½Π΅Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

1. ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Π΅ исслСдования

1.1 ОписаниС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Π·Π°Π΄Π°Ρ‡ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° нашла ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ. Π£Ρ‡Ρ‘Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ для Π°Π½Π°Π»ΠΈΠ·Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² модСлирования. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ для создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. ΠšΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ спСцэффСкты ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ («Π¨Ρ€Π΅ΠΊ», «Π˜ΡΡ‚ория ΠΈΠ³Ρ€ΡƒΡˆΠ΅ΠΊ» ΠΈ Π΄Ρ€.). Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹, максимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ для создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΈΡ€ΠΎΠ².

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° сСйчас стала основным срСдством связи ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, постоянно Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠΌ сфСры своСго примСнСния, Ρ‚.ΠΊ. Π² Π³Ρ€Π°Ρ„ичСском Π²ΠΈΠ΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ становятся Π±ΠΎΠ»Π΅Π΅ наглядными ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½Ρ‹ΠΌΠΈ.

Π Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ сопутствовали свои трудности. Π’ 1990;Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, способного Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΎΠΌ количСствС графичСского оборудования, Π±Ρ‹Π»Π° сопряТСна с Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ Ρ„инансовыми Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ. Π‘Ρ‹Π»ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° графичСских Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ Ρ€Π°Π·ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ сильно Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΠ»ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±Ρ‹Π»ΠΎ принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ доступа ΠΊ Π³Ρ€Π°Ρ„ичСской Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, появился ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс OpenGL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стандартизируСт доступ ΠΊ Π³Ρ€Π°Ρ„ичСской Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΏΡƒΡ‚Ρ‘ΠΌ смСщСния отвСтствСнности Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Сля графичСского устройства. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции ΠΎΡ‚ Π³Ρ€Π°Ρ„ичСского оборудования, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускорило созданиС Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ ΡΠ½ΠΈΠ·ΠΈΠ»ΠΎ Π½Π° Π½ΠΈΡ… Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹.

OpenGL пСрСводится ΠΊΠ°ΠΊ «ΠžΡ‚крытая ГрафичСская Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°» (Open Graphics Library), это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ OpenGL — это ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ стандарт. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenGL ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ практичСски Π½Π° Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, получая ΠΏΡ€ΠΈ этом ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π±ΡƒΠ΄ΡŒ это графичСская станция ΠΈΠ»ΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. OpenGL освобоТдаСт программиста ΠΎΡ‚ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ оборудования. Если устройство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‚ΠΎ ΡΡ‚Π° функция выполняСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ, Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° выполняСт Π΅Ρ‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ.

Π§Ρ‚ΠΎ ΠΆΠ΅ прСдставляСт ΠΈΠ· ΡΠ΅Π±Ρ OpenGL? Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программиста OpenGL — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс для графичСских устройств, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ графичСскиС ускоритСли. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ ΠΎΠΊΠΎΠ»ΠΎ 150 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³. Говоря Π±ΠΎΠ»Π΅Π΅ простым языком, Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π·Π°Π΄Π°Ρ‘Ρ‚Π΅ ΠΈΡ… ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС, опрСдСляСтС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚, ΠΌΠ°ΡΡˆΡ‚Π°Π±, …), Π·Π°Π΄Π°Ρ‘Ρ‚Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Ρ†Π²Π΅Ρ‚, тСкстура, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», …), ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ, Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OpenGL позаботится ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ всё это Π½Π° ΡΠΊΡ€Π°Π½Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OpenGL являСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ воспроизводящСй (Rendering), ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ 3D ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ OpenGL — ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных графичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ с 3D ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρƒ ΡΠ΅Π±Ρ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π•Π΅ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠΌ являСтся DirectX — коммСрчСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€. Благодаря ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΡ‚ Microsoft ΠΈ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Windows Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ являСтся самой распространСнной, DirectX Π·Π°Π²ΠΎΠ΅Π²Π°Π» Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ. НовыС вСрсии этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ самыС ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹Π΅ достиТСния Π² Π³Ρ€Π°Ρ„ичСской индустрии. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π΅Π΅ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. Но, Π½Π΅ ΡΠΌΠΎΡ‚ря Π½Π° Π²ΡΠ΅ эти прСимущСства, OpenGL ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π³Π»Π°Π²Π½Ρ‹ΠΉ плюс — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ. Благодаря этому OpenGL нСзависим ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° программирования ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… тяТСлых прилоТСниях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ БАПР систСмы. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° OpenGL Π½Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ся ΠΈ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ вСрсия (4.2) Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΡƒΡΡ‚ΡƒΠΏΠ°Π΅Ρ‚ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ям DirectX 11.

К ΠΏΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°ΠΌ OpenGL ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

1) ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ — с ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»Π° Π² OpenGL Π±Ρ‹Π»Π° Π·Π°Π»ΠΎΠΆΠ΅Π½Π° «ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ отрисовки динамичСских сцСн;

2) ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ — ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ OpenGL ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСзависимыми;

3) ΠΏΠΎΠ»Π½ΠΎΡ‚Π° — насколько это прСдставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ, OpenGL соотвСтствуСт Π½Π°Π±ΠΎΡ€Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, прСдоставляСмому соврСмСнными Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами графичСской аксСлСрации;

4) ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΏΠ΅Ρ€Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ — Π² ΡΠ΅Ρ‚Π΅Π²ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ;

5) Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ — ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ OpenGL рассчитан Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ соотвСтствиС возмоТностям Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ (Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π°, ΠΊΠ°ΠΊ извСстно, ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ), Ρ‚ΠΎ Π² OpenGL Ρ‚Π°ΠΊΠΆΠ΅ встроСны ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Помимо статичСской Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, Ρ‚. Π΅. Π½Π°Π±ΠΎΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… стСны, ΠΏΠΎΠ», лСстницы ΠΈ Ρ‚. ΠΏ., часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ Π³Ρ€Π°Π½Π΅ΠΉ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°Π·Π° с Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ Π½Π° ΡΡ‚ΠΎΠ»Π΅ (ΠΊΠ°ΠΊ, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΈ ΡΠ°ΠΌ стол), ΠΎΡ€ΡƒΠΆΠΈΠ΅, ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΈ ΠΈ Ρ‚. ΠΏ. Π’ΠΎ Π²ΡΠ΅Ρ… этих случаях Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…, прСдставлСнных Π½Π°Π±ΠΎΡ€ΠΎΠΌ большого числа Π³Ρ€Π°Π½Π΅ΠΉ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ²).

ΠŸΡ€ΠΈ этом ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π²Π΅Ρ€ΡˆΠΈΠ½, Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΈ Ρ‚Скстурных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π°Ρ…, Π° Π½Π΅ Π½Π° гранях.

ИспользованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ OpenGL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹Π΅ массивы (vertex array), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ всС значСния для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½, Π° ΠΏΡ€ΠΎΡΡ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ссылки Π½Π° ΠΌΠ°ΡΡΠΈΠ²Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт Π²Π·ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ значСния. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ всСго Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ слоТный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, состоящий ΠΈΠ· ΡΠΎΡ‚Π΅Π½ ΠΈ Π΄Π°ΠΆΠ΅ тысяч Π³Ρ€Π°Π½Π΅ΠΉ, ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ Π΄Π°Π΅Ρ‚ большоС прСимущСство Π² ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ OpenGL.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (ΠΈΡ… Ρ‡Π°ΡΡ‚ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ модСлями), содСрТит Π² ΡΠ΅Π±Π΅ массив Π²Π΅Ρ€ΡˆΠΈΠ½, Ρ†Π²Π΅Ρ‚ΠΎΠ², тСкстурных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΡΠ΅Π±Π΅ ссылку Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ тСкстуру, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Ρ‚Π΅Π»ΠΎ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³Ρ€Π°Π½Π΅ΠΉ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ считаСтся, Ρ‡Ρ‚ΠΎ каТдая Π³Ρ€Π°Π½ΡŒ являСтся Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌ трСмя индСксами Π² ΠΌΠ°ΡΡΠΈΠ² Π²Π΅Ρ€ΡˆΠΈΠ½.

Π’Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΡ… Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, модСль состоит ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² — Π²Π΅Ρ€ΡˆΠΈΠ½, Π³Ρ€Π°Π½Π΅ΠΉ, Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΈ Ρ‚. Π΄., Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ структуру. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΈ Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ Π΄ΠΎΠ»Π³ΠΎ, Π° Π² ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° модСль прСдставляСт собой слоТный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ графичСскиС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ (растровыС ΠΈΠ»ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹), Ρ‚Π°ΠΊ ΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ систСмы для создания ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ирования Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, модСлирования, Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ„Π°ΠΉΠ»Ρ‹, созданныС графичСскими Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‚ ΡΡ…ΠΎΠΆΡƒΡŽ структуру. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ дополняСт исходный Ρ„Π°ΠΉΠ» своими, присущими Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅ΠΌΡƒ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ настройки ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΈ Π΄Ρ€., Π½ΠΎ Ρ‡Π°ΡΡ‚ΡŒ, ΠΊΠ°ΡΠ°ΡŽΡ‰Π°ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ ΠΎΡ‚личаСтся.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ 3D модСль, ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) список Π²Π΅Ρ€ΡˆΠΈΠ½;

2) список Π³Ρ€Π°Π½Π΅ΠΉ (Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ);

3) список Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ;

4) ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Π³Ρ€Π°Π½Π΅ΠΉ;

5) тСкстурныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹;

6) Π΄Ρ€ΡƒΠ³ΠΈΠ΅ спСцифичСскиС ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ Π±Π»ΠΎΠΊΠΈ.

1.2 Анализ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² систСмы

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ спСцифичСскоС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚.ΠΊ. ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π΅ΡˆΠ°Π»ΠΈΡΡŒ ΡƒΠΆΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, Π½ΠΎ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠΉ систСмы ΠΈ Π½Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Π°. Или ΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, Π½ΠΎ ΠΎΠ½ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Основной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся автоматизация Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenGL. Автоматизация Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ прилоТСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ модСль ΠΈΠ»ΠΈ любой Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для Π΅Π³ΠΎ использования Π² OpenGL. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ шаблон, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄Π° для создания ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ графичСского прилоТСния. К ΡΡ‚ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° нСобходимая для прСдоставлСния возмоТностСй ΠΏΠΎ ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ манипуляции с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ (Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚. ΠΏ.).

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ большС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² графичСских Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π΅ΠΌ Π³ΠΈΠ±Ρ‡Π΅ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚. Но, учитывая ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ врСмя Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ большого количСства Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ. Π’Π°ΠΊΠΆΠ΅ трудности Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΡƒΡŽ структуру. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρƒ нСсколько ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², ΡΡ‚Π°Π²ΡˆΠΈΡ… Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° графичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

Π‘Π°ΠΌΡ‹ΠΌΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ 3DS ΠΈ OBJ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹. Π­Ρ‚ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ всСми популярными графичСскими Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ 3DS Max, Maya, Blender ΠΈ Ρ‚. Π΄., Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ CAD систСмами.

К ΠΏΠ»ΡŽΡΠ°ΠΌ 3DS Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

1) поддСрТиваСтся ΠΏΠΎΡ‡Ρ‚ΠΈ всСми Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ;

2) Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ встрСчаСмый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, имССтся мноТСство Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² ΡΠ΅Ρ‚ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚;

3) являСтся Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ, благодаря Ρ‡Π΅ΠΌΡƒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньшС мСста Π½Π° Π΄ΠΈΡΠΊΠ΅;

4) спСцификация Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° достаточна для описания любой ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, свСт, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», тСкстурныС ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ Ρ‚. Π΄.).

ΠœΠΈΠ½ΡƒΡΠ°ΠΌΠΈ 3DS Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) всС повСрхности полигональной сСтки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ;

2) ΠΈΠΌΠ΅Π½Π° тСкстур ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ записи DOS 8.3;

3) число Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² Π² ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ сСткС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ 65 536;

4) Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сохранСны Π² Ρ„Π°ΠΉΠ»Π΅ этого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°;

5) Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ся Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ источники свСта.

К ΠΏΠ»ΡŽΡΠ°ΠΌ OBJ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

1) являСтся общСпринятым Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ, поддСрТиваСтся большим количСством Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ (Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ);

2) ΠΈΠΌΠ΅Π΅Ρ‚ тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, благодаря Ρ‡Π΅ΠΌΡƒ Π»Π΅Π³ΠΊΠΎ читаСтся ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ рСдактирования;

3) Ρ…ΠΎΡ€ΠΎΡˆΠΎ описываСт Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ любой слоТности.

ΠœΠΈΠ½ΡƒΡΠ°ΠΌΠΈ OBJ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) прСдставляСт собой описаниС лишь Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ;

2) Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ Π² ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ сСткС.

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, всС популярныС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с 3DS ΠΈ Obj Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС срСдства ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π³ΠΎ использования. Код, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, разумССтся, Π·Π°ΠΊΡ€Ρ‹Ρ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ систСмы, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ся. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, сущСствуСт ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… возмоТности простого управлСния этими Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ.

ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΏΠΎΠΈΡΠΊΡƒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², Π±Ρ‹Π» сдСлан Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ для Obj Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈΡ… Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, это обусловлСно Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ являСтся тСкстовым Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСт Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ слоТности, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° стандартными срСдствами.

Π‘ 3DS Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ всС прСдстоит ΠΈΠ½Π°Ρ‡Π΅. Учитывая Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ структуру ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ, Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΈΠ΅ ΠΎΡ‚Ρ€Ρ‹Ρ‚Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Одним ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ являСтся Lib3DS.

Lib3DS прСдставляСт собой Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ 3DS Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. К ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ возмоТностям Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

1) Ρ€Π°Π±ΠΎΡ‚Π° Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… процСссора — big-endian ΠΈ little-endian;

2) Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅:

a) настроСк атмосфСры, Ρ„ΠΎΠ½Π°, Ρ‚Π΅Π½Π΅ΠΉ, ΠΎΠΊΠ½Π° просмотра;

b) ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²;

c) ΠΊΠ°ΠΌΠ΅Ρ€ ΠΈ ΡΠ²Π΅Ρ‚Π°;

d) полигональной сСтки;

e) ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ;

f) ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ²;

3) ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ;

4) ΠΎΡ†Π΅Π½ΠΊΠ° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π±Ρ‹Π» основан энтузиастами, ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ Π²Π΅Π΄Π΅Ρ‚ся с 2007 Π³ΠΎΠ΄Π°. Основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Lib3DS являСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° 3DS Ρ„Π°ΠΉΠ»Π° Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ структуры ΠΈ ΠΏΡ€ΠΎΡΡ‚ая ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΡŽ ΠΈΠΌΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Но ΡΡ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΡ€ΠΎΠΌΠ΅ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π΅Ρ‰Π΅ Π³Ρ€ΡƒΠ·ΠΈΡ‚ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠ°ΠΊ-Ρ‚ΠΎ свСт, ΠΊΠ°ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ анимация, Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ сущСствСнный объСм памяти ΠΈ ΡƒΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ использованиС Lib3DS Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ Π½Π΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ.

Как извСстно, 3DS Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для сохранСния ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠ΅ΠΊ срСды, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ½ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для прямого использования Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ИмСнно ΠΏΠΎ ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ свой ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ для использования с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ OpenGL.

Π•Ρ‰Π΅ Π² 90-Ρ… Π³ΠΎΠ΄Π°Ρ… ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ 3DS Max компания Autodesk, которая собствСнно ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° 3DS Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, написала свою ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ 3DSFTK [6], ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ программистам Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ 3DS Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Но ΠΊΠ°ΠΊ случаСтся с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ, послС написания этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΠ»Π°ΡΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½Π° Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ся ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ, особСнно Π½Π° Ρ€ΡƒΡΡΠΊΠΎΠΌ языкС.

Π˜Ρ‚Π°ΠΊ, подводя ΠΈΡ‚ΠΎΠ³ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сущСствуСт Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π½Π΅Π΅ Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΅Π³ΠΎ рСализация ΠΈΠΌΠ΅Π΅Ρ‚ мСсто Π² ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

1.3 ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° тСхничСской ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ систСмы

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° опрСдСляСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ рСсурсов Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особых Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows XP ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΡΡ‚ΠΎΠ³ΠΎ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ тСхничСской ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ систСмы Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² ΡΠΎΠΎΡ‚вСтствии с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ трСбованиями ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows XP.

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ трСбования, ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹Π΅ ΠΊ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΡƒ тСхничСских срСдств:

1) процСссор — 233 MHz;

2) опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ — 64 Mb RAM;

3) объСм дисковой памяти — 1,5 GB ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ дискового пространства;

4) Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ — Super VGA 800×600;

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ трСбования ΠΊ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΡƒ тСхничСских срСдств:

1) процСссор — 300 MHz ΠΈ Π²Ρ‹ΡˆΠ΅;

2) опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ — 128 Mb RAM;

3) объСм дисковой памяти — 1,5 GB ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ дискового пространства ΠΈ Π²Ρ‹ΡˆΠ΅;

4) Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ — Super VGA 800×600 ΠΈ Π²Ρ‹ΡˆΠ΅;

1.4 ОбоснованиС Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ языка программирования для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ язык Π‘++. Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€ обусловлСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ особСнностями языка:

1) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ высокоэффСктивного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°;

2) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стили ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ООП, ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, макросы);

3) автоматичСский Π²Ρ‹Π·ΠΎΠ² дСструкторов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΈΡ… ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Ρƒ конструкторов. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ (достаточно ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ) ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΌ освобоТдСниС рСсурсов (ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ„Π°ΠΉΠ»Ρ‹, сСмафоры ΠΈ Ρ‚. ΠΏ.), Π° Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ состояний ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ связанныС с ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ рСсурсов ;

4) ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΈ Ρ‘ΠΌΠΊΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ выраТСния Π½Π°Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π² Π΅ΡΡ‚СствСнной алгСбраичСской Ρ„ΠΎΡ€ΠΌΠ΅;

5) имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, адрСсами;

6) ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Π―Π·Ρ‹ΠΊ спроСктирован Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ программисту ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ всСми аспСктами структуры ΠΈ ΠΏΠΎΡ€ΡΠ΄ΠΊΠ° исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Ни ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ·Ρ‹ΠΊΠΎΠ²Ρ‹Ρ… возмоТностСй, приводящая ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ расходам, Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ для использования — ΠΏΡ€ΠΈ нСобходимости язык позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠžΠ‘ Windows. Из ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠŸΠž с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ языка C++ для ΠžΠ‘ Windows Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° срСда Microsoft Visual Studio 2005. Visual Studio 2005 прСдставляСт собой ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ срСдств, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΡ… ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ замысла Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. К ΠΏΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°ΠΌ Microsoft Visual Studio 2005 относятся:

1) ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅, ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мСсто программиста;

2) Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Ρ… справочных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (MSDN);

3) Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств, лСгкая Π΄ΠΎΡΡ‚ΠΈΠΆΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°;

4) срСда, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ наибольшСС распространСниС срСди ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;

5) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² любой слоТности ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΠ°;

6) ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… классов, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, написанных Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 10−15 Π»Π΅Ρ‚ (повторная ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°);

7) ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ срСдства;

8) ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ компилятор;

9) гСнСрация каркаса прилоТСния Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π΅Π³ΠΎ прСдназначСния ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ интСрфСйса.

1.5 Π—Π°Π΄Π°Ρ‡ΠΈ выпускной Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΉ выпускной Ρ€Π°Π±ΠΎΡ‚Π΅, состоит Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenGL, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ гСомСтричСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹) ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ прСдставляСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ вслСдствиС отсутствия наглядности. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот процСсс, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π²ΠΎΠ΄ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠžΠ±ΡŠΠ΅ΠΊΡ‚ строится Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌ графичСский интСрфСйс. Π—Π°Ρ‚Π΅ΠΌ гСомСтричСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ‹ΠΌ способом. Π”Π°Π»Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° гСнСрируСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», содСрТащий Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ для Π΅Π³ΠΎ использования Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenGL. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ шаблон, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ΄ΡƒΡ‰Π΅ΠΉ с Π½ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π²Π΅ΡΡ‚ΠΈ Π½Π° ΡΠΊΡ€Π°Π½ модСль ΠΈΠ· ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Для достиТСния поставлСнных Ρ†Π΅Π»Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

1) Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ структуру 3DS Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ основныС Π΅Π΅ Ρ‡Π°ΡΡ‚ΠΈ;

2) Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ структуру Obj Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ основныС Π΅Π΅ Ρ‡Π°ΡΡ‚ΠΈ;

3) ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ хранСния Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€ΠΎΡΡ‚ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ;

4) Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ трСбования ΠΊ Ρ‚СхничСскому ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ для развСртывания создаваСмой систСмы;

5) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (lib3do) Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ спроСктированного ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (Π΄Π°Π»Π΅Π΅ 3DO) ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ простой интСрфСйс ΠΏΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΠΈ с Π½ΠΈΠΌ:

a) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· Π·Π°Π΄Π°Ρ‡ΠΈ с Ρ†Π΅Π»ΡŒΡŽ выявлСния ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Ρ‹;

b) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ выявлСнных ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡;

c) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ взаимосвязи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†;

d) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ Ρ‚СстированиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для подтвСрТдСния работоспособности созданного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

6) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (3DS ΠΈΠ»ΠΈ Obj) Π² ΡΠ²ΠΎΠΉ спроСктированный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (3DO) ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ шаблона графичСского прилоТСния:

a) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· Π·Π°Π΄Π°Ρ‡ΠΈ с Ρ†Π΅Π»ΡŒΡŽ выявлСния ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Ρ‹;

b) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ выявлСнных ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡;

c) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ взаимосвязи ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†;

d) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ Ρ‚СстированиС для подтвСрТдСния работоспособности созданного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

2. Анализ Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ производится дСтализация ΠΈ Π°Π½Π°Π»ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡:

1) автоматизированная систСма Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenGL;

2) шаблон графичСского прилоТСния.

2.1 Анализ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы

2.1.1 Анализ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Ρ€Π΅Ρ… основных Π±Π»ΠΎΠΊΠΎΠ², прСдставлСнных Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.1.

Рисунок 2.1 — ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ графичСскиС Ρ„Π°ΠΉΠ»Ρ‹, с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ — 3DS ΠΈ Obj Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… вСрсиях планируСтся ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

К Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относится ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ послС ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (3DS ΠΈΠ»ΠΈ Obj) ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» 3DO, ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½ графичСского прилоТСния, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π½Π° ΡΠΊΡ€Π°Π½Π΅.

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ 3DO Ρ„Π°ΠΉΠ» основан Π½Π° xml Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру:

<3DO version="1.0">

2012;03−19T18:31:50

2012;03−19T18:31:50

0.4375 -0.1 640 625 0.765 625 -0.4375 0.1 640 625 0.765 625

0.5 0.9 375 0.6875

0.6 649 926 -0.2 007 524 0.719 363 -0.6 649 926 -0.2 007 524 0.719 363

0.8 294 267 -0.303 581 0.4 689 242

0.6 649 926 -0.2 007 524 0.719 363 -0.6 649 926 -0.2 007 524 0.719 363

0.8 294 267 -0.303 581 0.4 689 242

1 2 3

</3DO>

2.1.2 Анализ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° рассматриваСмой Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.2.

Рисунок 2.2 — Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

2.1.2.1 Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…

НазначСниС Π·Π°Π΄Π°Ρ‡ΠΈ «Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…» состоит Π² ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ (3DS ΠΈΠ»ΠΈ Obj), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π»Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ 3DO Ρ„Π°ΠΉΠ».

Π’Π°ΠΊΠΆΠ΅ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ шаблон графичСского прилоТСния, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя этого прилоТСния ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сохранСно. Π•Ρ‰Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ 3DO для Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΊΠΎΠ΄Π΅ шаблона.

2.1.2.2 ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ Ρ„Π°ΠΉΠ»Π°

НазначСниС Π·Π°Π΄Π°Ρ‡ΠΈ «ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ация Ρ„Π°ΠΉΠ»Π°» состоит Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ (3DS ΠΈΠ»ΠΈ Obj) Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° 3DO. ΠŸΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ исходный Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π΅ΠΉ использованиС 3DO Ρ„Π°ΠΉΠ»Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ расчСт Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ ΠΊ Π³Ρ€Π°Π½ΡΠΌ для 3DS Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ расчСт Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ Π²ΠΎ Π²ΡΠ΅Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½Π°Ρ… для 3DS ΠΈ Obj. Π’Π°ΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ расчСты ΠΏΡ€ΠΈΠ·Π²Π°Π½Ρ‹ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 3DO Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Ρ‚.ΠΊ. ΠΎΡ‚ΠΏΠ°Π΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.

Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ (3DS ΠΈΠ»ΠΈ Obj);

2) ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (3DO).

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° исходного 3DO Ρ„Π°ΠΉΠ»Π° Π±Ρ‹Π»Π° описана Π²Ρ‹ΡˆΠ΅.

К Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относится ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ 3DO Ρ„Π°ΠΉΠ».

2.1.2.3 ГСнСрация шаблона

НазначСниС Π·Π°Π΄Π°Ρ‡ΠΈ «Π“СнСрация шаблона» состоит Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ каркаса прилоТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ нСслоТных графичСских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ шаблона с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрировано ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π²Π΅ΡΡ‚ΠΈ Π½Π° ΡΠΊΡ€Π°Π½ сконвСртированный ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ 3DO Ρ„Π°ΠΉΠ».

Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΈΠΌΡ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ шаблона;

2) ΠΏΡƒΡ‚ΡŒ ΠΊ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ 3DO Ρ„Π°ΠΉΠ»Ρƒ.

К Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относится ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ каркас графичСского прилоТСния.

2.1.3 Анализ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

Рассмотрим структуру Π·Π°Π΄Π°Ρ‡ΠΈ «ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ация Ρ„Π°ΠΉΠ»Π°» (рисунок 2.3).

2.1.3.1 Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π° для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ

ЦСлью Π·Π°Π΄Π°Ρ‡ΠΈ являСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠ· Π²Π½Π΅ΡˆΠ½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° (3DS ΠΈΠ»ΠΈ Obj) Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ структуры прилоТСния.

Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΈΠΌΡ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ 3DO Ρ„Π°ΠΉΠ»Π°.

К Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относятся Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ прилоТСния Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ· ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Рисунок 2.3 — структура Π·Π°Π΄Π°Ρ‡ΠΈ «ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ация Ρ„Π°ΠΉΠ»Π°»

2.1.3.2 РасчСт Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² 3D Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ° ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ Π²ΡΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ (Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π°Ρ… ΠΈ Ρƒ Π³Ρ€Π°Π½Π΅ΠΉ). ΠŸΡ€ΠΈ этом расчСт этих Π΄Π°Π½Π½Ρ‹Ρ… возлагаСтся Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΡΡ‚ΠΎ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ влияСт Π½Π° Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

По ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ для увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· 3DO Ρ„Π°ΠΉΠ»Π°, гСомСтрия исходного Ρ„Π°ΠΉΠ»Π° дополняСтся рассчитанными Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠΎΠ³Π΄Π° исходным Ρ„Π°ΠΉΠ»ΠΎΠΌ являСтся 3DS Ρ„Π°ΠΉΠ», производится расчСт Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ ΠΈ Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ ΠΊ Π³Ρ€Π°Π½ΡΠΌ, Π° ΠΊΠΎΠ³Π΄Π° Obj Ρ„Π°ΠΉΠ» — Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹Ρ….

К Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относятся структуры Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ исходного Ρ„Π°ΠΉΠ»Π°, ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ (массивы Π²Π΅Ρ€ΡˆΠΈΠ½, Π³Ρ€Π°Π½Π΅ΠΉ ΠΈ Ρ‚. ΠΏ.).

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ рассчитанныС Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ (Π²Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΈ/ΠΈΠ»ΠΈ ΠΊ Π³Ρ€Π°Π½ΡΠΌ).

2.1.3.3 Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² 3DO Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅

Основной Ρ†Π΅Π»ΡŒΡŽ Π·Π°Π΄Π°Ρ‡ΠΈ являСтся сохранСниС, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… послС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… расчСтов, описания Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ 3DO Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся ΠΏΠΎΠ»Π½ΠΎΠ΅ описаниС Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠ΅ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… структурах прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΈΠΌΡ 3DO Ρ„Π°ΠΉΠ»Π°.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся Ρ„Π°ΠΉΠ» Π² 3DO Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Рассмотрим структуру Π·Π°Π΄Π°Ρ‡ΠΈ «Π“СнСрация шаблона» (рисунок 2.4).

Рисунок 2.4 — структура Π·Π°Π΄Π°Ρ‡ΠΈ «Π“СнСрация шаблона «

2.1.3.4 Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² шаблона

К Π·Π°Π΄Π°Ρ‡Π΅ «ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² шаблона» относится:

1) ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ 3DO Ρ„Π°ΠΉΠ»Π°;

2) ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ шаблон Π±ΡƒΠ΄Π΅Ρ‚ сохранСн.

2.1.3.5 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ шаблона

Под созданиСм шаблона понимаСтся внСсСниС настроСк Π² ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ каркас прилоТСния (простой ΠΈΠ»ΠΈ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ). ПослС Ρ‡Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ каркас пСрСносится ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ°Ρ… ΠΏΡƒΡ‚ΠΈ. ΠŸΡ€ΠΈ этом Π² ΠΏΠ°ΠΏΠΊΡƒ с ΡˆΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ копируСтся ΠΈ 3DO Ρ„Π°ΠΉΠ».

Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ шаблон прСдставляСт собой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Π² Microsoft Visual Studio 2005 Π½Π° Π±Π°Π·Π΅ MFC Application.

Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ настройки шаблона.

К Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относится ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ послС конфигурирования шаблон.

2.2 Анализ шаблона графичСского прилоТСния

2.2.1 Анализ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Ρ€Π΅Ρ… основных Π±Π»ΠΎΠΊΠΎΠ², прСдставлСнных Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.5.

Рисунок 2.5 — ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ графичСскиС Ρ„Π°ΠΉΠ»Ρ‹, с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ — 3DS, Obj ΠΈ 3DO Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… вСрсиях планируСтся ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

К Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относится ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ 3D Ρ„Π°ΠΉΠ».

2.1.2 Анализ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° рассматриваСмой Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.6.

Рисунок 2.6 — Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

2.2.2.1 Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ OpenGL

НазначСниС Π·Π°Π΄Π°Ρ‡ΠΈ «Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ OpenGL» состоит Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenGL. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ прСдставляСт собой ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

1) установка Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° пиксСлСй;

2) созданиС контСкста отобраТСния;

3) Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ контСкста отобраТСния.

2.1.2.2 Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° 3D Ρ„Π°ΠΉΠ»Π°

ЦСлью Π·Π°Π΄Π°Ρ‡ΠΈ являСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠ· Π²Π½Π΅ΡˆΠ½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° (3DS, Obj ΠΈΠ»ΠΈ 3DO) Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ структуры прилоТСния.

Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΈΠΌΡ 3D Ρ„Π°ΠΉΠ»Π°.

К Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ относятся Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ прилоТСния Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

2.1.2.3 Π’Ρ‹Π²ΠΎΠ΄ 3D Ρ„Π°ΠΉΠ»Π° Π½Π° ΡΠΊΡ€Π°Π½

НазначСниС Π·Π°Π΄Π°Ρ‡ΠΈ «Π’Ρ‹Π²ΠΎΠ΄ 3D Ρ„Π°ΠΉΠ»Π° Π½Π° ΡΠΊΡ€Π°Π½» состоит Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΡΠΊΡ€Π°Π½Π΅ срСдствами Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenGL Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ ΠΈΠ· 3D Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ настройки, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΡΠΊΡ€Π°Π½Π΅.

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π» содСрТит описаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡:

1) автоматизированная систСма Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ OpenGL:

a) Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…;

b) конвСртация Ρ„Π°ΠΉΠ»Π°;

c) гСнСрация шаблона.

2) шаблон графичСского прилоТСния:

a) инициализация OpenGL;

b) Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° 3D Ρ„Π°ΠΉΠ»Π°;

c) Π²Ρ‹Π²ΠΎΠ΄ 3D Ρ„Π°ΠΉΠ»Π° Π½Π° ΡΠΊΡ€Π°Π½.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ обСспСчиваСт достиТСниС Ρ†Π΅Π»Π΅ΠΉ основной Π·Π°Π΄Π°Ρ‡ΠΈ. Алгоритмы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ описаны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.

3.1 Автоматизированная систСма Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

3.1.1 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…»

ЦСлью Π·Π°Π΄Π°Ρ‡ΠΈ «Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…» являСтся ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ исходных Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для получСния 3DO Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ шаблона прилоТСния. Для достиТСния Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

1) для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°:

a) ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ (3DS ΠΈΠ»ΠΈ Obj);

b) ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (3DO).

2) для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ шаблона:

a) Π·Π°Π΄Π°Ρ‚ΡŒ имя шаблона;

b) ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ 3DO Ρ„Π°ΠΉΠ»Ρƒ;

c) ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ шаблон Π±ΡƒΠ΄Π΅Ρ‚ сохранСн.

3.1.2 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ация Ρ„Π°ΠΉΠ»Π°»

3.1.2.1 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π° для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ»

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° структура содСрТащая описаниС Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ исходного Ρ„Π°ΠΉΠ»Π° (3DS ΠΈΠ»ΠΈ Obj).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ этапами этой Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для чтСния;

2) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»Π° — Π»ΠΈΠ±ΠΎ ΠΏΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ, Π»ΠΈΠ±ΠΎ ΠΏΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ;

3) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ½Ρ‚СрпрСтация Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°:

a) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½;

b) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ± ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ… Π³Ρ€Π°Π½Π΅ΠΉ;

c) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡΡ… ΠΊ Π³Ρ€Π°Π½ΡΠΌ (для Obj Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°).

4) сохранСниС ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ структуры;

5) Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°.

3.1.2.2 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π Π°ΡΡ‡Π΅Ρ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…»

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ «Π Π°ΡΡ‡Π΅Ρ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ ΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ граням ΠΌΠΎΠ΄Π΅Π»ΠΈ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² 3D Ρ„Π°ΠΉΠ»Π°Ρ… Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚.ΠΊ. имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ — Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ Π³Ρ€Π°Π½Π΅ΠΉ. Но Π΄Π»Ρ этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти рСсурсоСмкиС расчСты.

Для опрСдСлСния Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ ΠΊ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ достаточно ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… этой плоскости. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.1 схСматичСски ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ.

Рисунок 2.1 — ΠΠΎΡ€ΠΌΠ°Π»ΡŒ ΠΊ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ дСтализация Ρ„Π°ΠΉΠ» Π΄Π°Π½Π½Ρ‹Π΅ графичСский По ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π΅ΡΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ пСрпСндикулярный плоскости ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΈΡ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΡΡ‚ΠΎΠ³ΠΎ свойства Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ n ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ab ΠΈ bc:

n = (bc, ab) (1.1)

Π³Π΄Π΅ n — Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ;

ab, bc — Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ пСрпСндикулярныС n.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ Π·Π½Π°Ρ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° a, b ΠΈ c ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° ab ΠΈ bc:

ab = b — a (1.2)

bc = b — c (1.3)

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ ΠΊ Π³Ρ€Π°Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ сводится ΠΊ ΠΏΡ€ΠΎΡΡ‚Ρ‹ΠΌ опСрациям Π½Π°Π΄ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ привСсти Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° Π΅Π³ΠΎ Π½ΠΎΡ€ΠΌΡƒ (Π΄Π»ΠΈΠ½Ρƒ):

n1 = n / |n| (1.4)

Π³Π΄Π΅ n1 — Π²Π΅ΠΊΡ‚ΠΎΡ€ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹;

n — Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ;

|n| - Π΄Π»ΠΈΠ½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ.

Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ Π΄Π΅Π»ΠΎ прСдстоит Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅. Для опрСдСлСния Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ трСбуСтся ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ Π²ΡΠ΅ΠΌ граням содСрТащим эту Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΈ ΠΏΡ€ΠΎΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ. ПослС Ρ‡Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ привСсти Π½ΠΎΡ€ΠΌΠ°Π»ΡŒ ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ.

Как Π²ΠΈΠ΄Π½ΠΎ поиск Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, поэтому Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΡ… Π² 3DO Ρ„Π°ΠΉΠ»Π΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ, ΠΈ ΡΠΈΠ»ΡŒΠ½ΠΎ сэкономит ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

3.1.2.3 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² 3DO Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅»

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ 3DO Ρ„Π°ΠΉΠ»Π°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π³Ρ€Π°Π½ΠΈ, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ).

Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ этапы:

1) ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для записи;

2) запись Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ„Π°ΠΉΠ» с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ структуры 3DO Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°:

a) запись ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π²Π΅Ρ€ΡˆΠΈΠ½;

b) запись ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π°Ρ…;

c) запись ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ ΠΊ Π³Ρ€Π°Π½ΡΠΌ;

d) запись количСства Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ;

e) запись индСксов Π³Ρ€Π°Π½Π΅ΠΉ;

3) Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°.

3.1.3 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π“СнСрация шаблона»

3.1.3.1 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² шаблона»

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ сводится ΠΊ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² шаблона:

1) имя шаблона;

2) ΠΏΡƒΡ‚ΡŒ ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ;

3) ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΈΠΌΡ 3DO Ρ„Π°ΠΉΠ»Π°.

3.1.3.2 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠΎΡ…ранСния шаблона»

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ провСдСния Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ сконфигурированный шаблон графичСского прилоТСния.

Алгоритм «Π‘оздания ΠΈ ΡΠΎΡ…ранСния шаблона» ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹:

1) ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² шаблона ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ;

2) ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 3DO Ρ„Π°ΠΉΠ»Π°.

3.2 Π¨Π°Π±Π»ΠΎΠ½ графичСского прилоТСния

3.2.1 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ OpenGL»

ЦСлью Π·Π°Π΄Π°Ρ‡ΠΈ «Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ OpenGL» являСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ инициализация OpenGL ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Для достиТСния Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

1) установка Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° пиксСлСй;

2) созданиС контСкста отобраТСния;

3) Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ контСкста отобраТСния.

3.2.2 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° 3D Ρ„Π°ΠΉΠ»Π°»

ЦСлью Π·Π°Π΄Π°Ρ‡ΠΈ «Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° 3D Ρ„Π°ΠΉΠ»Π°» являСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ 3D Ρ„Π°ΠΉΠ»Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ этапами этой Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° для чтСния;

2) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»Π° — Π»ΠΈΠ±ΠΎ ΠΏΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ, Π»ΠΈΠ±ΠΎ ΠΏΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ;

3) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ½Ρ‚СрпрСтация Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°:

a) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½;

b) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ± ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ… Π³Ρ€Π°Π½Π΅ΠΉ;

c) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡΡ… ΠΊ Π³Ρ€Π°Π½ΡΠΌ;

d) Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡΡ… Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π°Ρ….

4) сохранСниС ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ структуры;

5) Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°.

3.2.3 Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ «Π’Ρ‹Π²ΠΎΠ΄ 3D Ρ„Π°ΠΉΠ»Π° Π½Π° ΡΠΊΡ€Π°Π½»

ЦСлью Π·Π°Π΄Π°Ρ‡ΠΈ «Π’Ρ‹Π²ΠΎΠ΄ 3D Ρ„Π°ΠΉΠ»Π° Π½Π° ΡΠΊΡ€Π°Π½» являСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΡΠΊΡ€Π°Π½Π΅ срСдствами Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenGL Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ ΠΈΠ· 3D Ρ„Π°ΠΉΠ»Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ этапами этой Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) настройка состояния отобраТСния OpenGL ΠΎΠΊΠ½Π°;

2) Π²Ρ‹Π²ΠΎΠ΄ 3D ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ OpenGL.

4. Π‘ΠΈΠ½Ρ‚Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

4.1 АрхитСктура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

Для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π² Π΄Π°Π½Π½ΠΎΠΉ аттСстационной Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ язык программирования C++ ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Microsoft Visual Studio 2005. ВсС создаваСмыС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Microsoft Visual Studio 2005 прилоТСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Бтудия прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ каркасы ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ — мастСров. ΠœΠ°ΡΡ‚Π΅Ρ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ шаблон ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ, впослСдствии, создаСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΆΠ΅ мастСр прСдоставляСт структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, основныС мСню, ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, Π·Π½Π°Ρ‡ΠΊΠΈ ΠΈ Ρ‚. Π΄. Π­Ρ‚ΠΎ позволяСт, создав каркас прилоТСния, сразу ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ нСпосрСдствСнно ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠšΠ°Ρ€ΠΊΠ°Ρ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° создан ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ стандартного Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Application Wizard Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ шаблона MFC Application. Π¨Π°Π±Π»ΠΎΠ½ прилоТСния MFC Application — являСтся основой для стандартных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows.

Π’ ΡΠΎΡΡ‚Π°Π² созданного ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Application Wizard ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ GenOGLApp входят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹:

1) GenOGLApp. h — Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», содСрТащий описаниС класса ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

2) GenOGLApp. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

3) MainFrm. h — содСрТит описаниС класса ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° Π²Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

4) MainFrm. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

5) GenOGLAppDoc. h — описываСт класс хранящий основныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

6) GenOGLAppDoc. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

7) GenOGLAppView. h — содСрТит описаниС класса ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ класса;

8) GenOGLAppView. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

9) Camera. h — ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ класса ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ для просмотра OpenGL ΠΎΠΊΠ½Π°;

10) Camera. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

11) ConvertDlg. h — содСрТит описаниС класса ΠΎΠΊΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡŽ 3D Ρ„Π°ΠΉΠ»Π° Π² 3DO Ρ„ΠΎΡ€ΠΌΠ°Ρ‚;

12) ConvertDlg. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

13) GenerateDlg. h — содСрТит описаниС класса ΠΎΠΊΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ шаблона OpenGL прилоТСния;

14) GenerateDlg. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

15) StdAfx. h — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΏΡ€Π΅-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ классами прилоТСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) CGenOGLApp — Π³Π»Π°Π²Π½Ρ‹ΠΉ класс прилоТСния, наслСдуСтся ΠΎΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ³ΠΎ класса CWinApp. ВыполняСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

2) Π‘MainFrame — класс наслСдуСмый ΠΎΡ‚ CFrameWnd, Π·Π°Π΄Π°Π΅Ρ‚ внСшний Π²ΠΈΠ΄ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

3) CGenOGLAppDoc — класс наслСдуСмый ΠΎΡ‚ CDocument, Ρ…Ρ€Π°Π½ΠΈΡ‚ основныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

4) CGenOGLAppView — класс наслСдуСмый ΠΎΡ‚ CView, выполняСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ OpenGL ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… хранящихся Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ классС;

5) CCamera — класс, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ возмоТности ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ для просмотра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² OpenGL ΠΎΠΊΠ½Π΅;

6) CConvertDlg — класс наслСдуСмый ΠΎΡ‚ CDialog, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ основных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ 3D Ρ„Π°ΠΉΠ»Π° Π² 3DO Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ ΡΠ°ΠΌΡƒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡŽ;

7) CGenerateDlg — класс наслСдуСмый ΠΎΡ‚ CDialog, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ основных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ шаблона OpenGL прилоТСния ΠΈ ΡΠ°ΠΌΡƒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ.

ΠžΠ±Ρ‰Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° прилоТСния Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ основных классов прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.1.

Рисунок 4.1 — АрхитСктура прилоТСния Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния являСтся сгСнСрированный шаблон графичСского прилоТСния. Π¨Π°Π±Π»ΠΎΠ½, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, создан с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Application Wizard Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ MFC Application ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ…ΠΎΠΆΡƒΡŽ с Π½ΠΈΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ.

Π’ ΡΠΎΡΡ‚Π°Π² спроСктированного шаблона графичСского прилоТСния с ΠΈΠΌΠ΅Π½Π΅ΠΌ OGLApp входят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹:

1) OGLApp. h — Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», содСрТащий описаниС класса ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

2) OGLApp. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

3) MainFrm. h — содСрТит описаниС класса ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° Π²Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

4) MainFrm. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

5) OGLAppDoc. h — описываСт класс хранящий основныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

6) OGLAppDoc. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

7) OGLAppView. h — содСрТит описаниС класса ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ класса;

8) OGLAppView. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

9) Camera. h — ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ класса ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ для просмотра OpenGL ΠΎΠΊΠ½Π°;

10) Camera. cpp — содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ описанного класса;

11) StdAfx. h — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΏΡ€Π΅-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ классами шаблона ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1) COGLApp — Π³Π»Π°Π²Π½Ρ‹ΠΉ класс прилоТСния, наслСдуСтся ΠΎΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ³ΠΎ класса CWinApp. ВыполняСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

2) Π‘MainFrame — класс наслСдуСмый ΠΎΡ‚ CFrameWnd, Π·Π°Π΄Π°Π΅Ρ‚ внСшний Π²ΠΈΠ΄ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

3) COGLAppDoc — класс наслСдуСмый ΠΎΡ‚ CDocument, Ρ…Ρ€Π°Π½ΠΈΡ‚ основныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

4) COGLAppView — класс наслСдуСмый ΠΎΡ‚ CView, выполняСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ OpenGL ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… хранящихся Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ классС;

5) CCamera — класс, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ возмоТности ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ для просмотра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² OpenGL ΠΎΠΊΠ½Π΅;

ΠžΠ±Ρ‰Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° шаблона графичСского прилоТСния Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ основных классов прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.2.

Рисунок 4.2 — АрхитСктура шаблона OpenGL прилоТСния

4.2 Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ пространство систСмы

Рисунок 4.3 ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ пространство прилоТСния. ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ основныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ прилоТСния. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ прСдставлСны ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ прилоТСния Π΄Π°Π½Π½Ρ‹Π΅. Π‘Ρ‚Ρ€Π΅Π»ΠΊΠΈ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ