ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«ΠΠ±Ρ ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌΒ»
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΡΠ½ΠΎΠ²Π½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΠ°ΡΠ½ΡΠ΄ΠΎΡΡΠ°: ΠΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅ Π΄ΠΎΡΠΊΠΈ, ΠΊΠΎΠ½Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π° ΡΡ ΠΊΠ»Π΅ΡΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π΅ΡΡ Π½Π΅ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π½ΡΡ ΠΊΠ»Π΅ΡΠΎΠΊ. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΈΡ ΠΊΠ»Π΅ΡΠΎΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ Π½Π° Π»ΡΠ±ΡΡ ΠΈΠ· Π½ΠΈΡ . ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ — ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠΊΠ½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ void… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«ΠΠ±Ρ ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌΒ» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΠΠΠΠΠΠ
1. Π‘ΠΠ‘Π’ΠΠΠΠ«Π ΠΠΠΠΠΠ
1.1 Π€ΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ
1.2 ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΉ
1.3 ΠΠΎΠΈΡΠΊ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ
1.4 ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ
2. ΠΠΠΠΠΠ Π’Π ΠΠΠΠΠΠΠΠ
2.1 Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
2.2 ΠΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ
2.2.1 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌ
2.2.2 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ
3. ΠΠ ΠΠΠΠ’ΠΠ ΠΠΠΠΠΠ
3.1 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
3.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
4. ΠΠΠΠΠ ΠΠΠΠΠΠ
5. Π’ΠΠ‘Π’ΠΠ ΠΠΠΠΠΠ
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΠ ΠΠΠΠΠΠΠΠ―
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠΠΠΠΠΠΠ
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠ°Π²ΠΈΡΡΡ Π·Π°Π΄Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΠΎΠ±Ρ ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌ. ΠΠΌΠ΅Π΅ΡΡΡ ΡΠ°Ρ ΠΌΠ°ΡΠ½Π°Ρ Π΄ΠΎΡΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ N*N, Π³Π΄Π΅ N?50. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΠΎΠΉΡΠΈ Π΅Π΅ ΠΊΠΎΠ½Π΅ΠΌ ΠΈΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (h, v), ΠΏΠΎΠ±ΡΠ²Π°Π² ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠ΅ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π΄Π²Π° ΡΠ»ΡΡΠ°Ρ: Π°) Π² ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΊΠΎΠ½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ. Π±) ΠΊΠΎΠ½Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΎΠ±Ρ ΠΎΠ΄ Π±Π΅Π· Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ ΠΎΠ±Ρ ΠΎΠ΄ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Microsoft Visual Studio 2008.
1. Π‘ΠΠ‘Π’ΠΠΠΠ«Π ΠΠΠΠΠΠ
1.1 Π€ΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «ΠΎΠ±Ρ ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌ», Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠΈ.
1.2. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΉ ΠΠ΅ΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Π»ΠΈ:
ΠΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++.
1.3 ΠΠΎΠΈΡΠΊ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ:
ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ.
Π‘ΠΊΡΡΠ² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ, ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΡΡΠ΅Π½ΠΎ ΠΈΠ· Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΡΡΡΠΎΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΠ°Π·Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π³Π»Π°Π²Π½ΡΡ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
1.4 ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅Π΅ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°ΡΡΠ°ΡΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
2. ΠΠΠΠΠΠ Π’Π ΠΠΠΠΠΠΠΠ
2.1 Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ Π²ΡΠ΅ΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
2.2 ΠΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ
2.2.1 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΉ Π΄ΠΎΡΠΊΠΈ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΠΊΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ ΠΎΠ΄Π° Π΄ΠΎΡΠΊΠΈ.
2.2.2 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
3. ΠΠ ΠΠΠΠ’ΠΠ ΠΠΠΠΠΠ
3.1 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ GLUT.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GLUT:
1. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ GLUT ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
void glutInit (int *argcp, char **argv);
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π° Π²ΡΠΎΡΠΎΠΉ — ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π΅ΡΡΡΡΡ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: int main (int argc, char *argv[]).
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠΊΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏΠΎΠ². ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°:
void glutInitWindowSize (int width, int height);
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ width — ΡΠΈΡΠΈΠ½Π° ΠΎΠΊΠ½Π° Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ , Π²ΡΠΎΡΠΎΠΉ height — Π²ΡΡΠΎΡΠ° ΠΎΠΊΠ½Π° Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ . ΠΡΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΡΡΡΠΈΡΡ, ΡΠΎ GLUT ΡΠ°ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ 300×300.
ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΡΠΊΡΠ°Π½Π°. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
void glutInitWindowPosition (int x, int y);
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π»Ρ ΠΎΠΊΠ½Π° ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π’. Π΅. ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π»Ρ ΠΎΠΊΠ½Π° ΡΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΠΊ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΡΠ²Π΅ΡΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ², ΠΈ Ρ. Π΄. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² GLUT ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
void glutInitDisplayMode (unsigned int mode);
Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ±ΠΈΡΠΎΠ²ΠΎΠ³ΠΎ ΠΠΠ.
3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΎΠΊΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ.
int glutCreateWindow (const char *title);
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΊΠ½ΠΎ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ HANDLER ΠΎΠΊΠ½Π° Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ»Π° int. ΠΡΠΎΡ HANDLER ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΡΡΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠΊΠ½Π° ΠΈ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΠΎΠΊΠ½Π°.
4. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΡ Π·Π° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠΊΠ½Π΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΡΠΌΡ ΠΎΠΊΠ½Π°.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΡΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΎ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²ΡΠ·Π°ΡΡ Ρ Π½ΠΈΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π²ΡΠ²ΠΎΠ΄ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΎΠΊΠ½Π°, ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π½Π°ΠΆΠ°ΡΠΈΡΠΌΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΈ Ρ. Π΄. Π‘Π°ΠΌΠ°Ρ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈ ΡΠ°ΠΌΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ (ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ) ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠΊΠ½Π°. ΠΡΠ°ΠΊ, Π·Π°Π΄Π°ΡΡΡΡ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
void glutDisplayFunc (void (*func)(void));
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ — ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠΊΠ½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ void Draw (void), ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π»Π° Π·Π° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠΊΠ½Π΅, Π½Π°Π΄ΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π΅ ΠΊ GLUT ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: glutDisplayFunc (Draw);
Π Π΅ΡΡ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΊΠ½Π°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠΊΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΆΠ΅ Π² Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°, Π²ΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΡΠ°ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΠΊΠ½Π°, Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΡΡ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠΊΠ½Π° Π½ΡΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
void glutReshapeFunc (void (*func)(int width, int height));
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ — ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΡΡ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° width ΠΈ height, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ) ΠΎΠΊΠ½Π°.
5. ΠΡ ΠΎΠ΄ Π² Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» GLUT.
ΠΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΡΡΠΎ Π²ΠΎΠΉΡΠΈ Π² ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» GLUT. ΠΡΠΎΡ ΡΠΈΠΊΠ» Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΄ΡΠ΅ GLUT, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΡΠ΅ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΎΠΊΠ½ΠΎ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» GLUT, Π½Π°Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
void glutMainLoop (void);
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ:
glutInit (&argc, argv); Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π°.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 1.
Π ΠΈΡΡΠ½ΠΎΠΊ 1. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΡΠ½ΠΎΠ²Π½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΠ°ΡΠ½ΡΠ΄ΠΎΡΡΠ°: ΠΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅ Π΄ΠΎΡΠΊΠΈ, ΠΊΠΎΠ½Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π° ΡΡ ΠΊΠ»Π΅ΡΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π΅ΡΡ Π½Π΅ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π½ΡΡ ΠΊΠ»Π΅ΡΠΎΠΊ. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΈΡ ΠΊΠ»Π΅ΡΠΎΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ Π½Π° Π»ΡΠ±ΡΡ ΠΈΠ· Π½ΠΈΡ .
ΠΠ° Π ΠΈΡΡΠ½ΠΊΠ΅ 2 Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2. ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
4. ΠΠΠΠΠ ΠΠΠΠΠΠ Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π°:
const struct
{
int dx;
int dy;
} moves[] =//ΠΠ°ΡΡΠΈΠ² Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Ρ ΠΎΠ΄Π° ΠΊΠΎΠ½Ρ
{
{ -1, -2 },
{ 1, -2 },
{ -2, -1 },
{ 2, -1 },
{ -2, 1 },
{ 2, 1 },
{ -1, 2 },
{ 1, 2 }
};
multimap seq;//ΠΠ°ΡΡΠΈΠ², Π² ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π½ΠΎΡΠΈΡΡΡ ΠΏΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
for (size_t i = 0; i < sizeof (moves) / sizeof (*moves); ++i) //Π Π°ΡΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Ρ ΠΎΠ΄ΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠ»Π΅ΡΠΎΠΊ
{
const int x0 = x + moves[i]. dx;
const int y0 = y + moves[i]. dy;
int c = 0;//Π‘ΡΠ΅ΡΡΠΈΠΊ Ρ ΠΎΠ΄ΠΎΠ²
for (size_t j = 0; j < sizeof (moves) / sizeof (*moves); ++j)
{
const int x1 = x0 + moves[j]. dx;
const int y1 = y0 + moves[j]. dy;
if (x1 >= 0 && x1 < N &&//ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π²ΡΡ ΠΎΠ΄ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π΄ΠΎΡΠΊΠΈ
y1 >= 0 && y1 < N &&
!board[x1][y1])//ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π±ΡΠ» Π»ΠΈ ΠΊΠΎΠ½Ρ Π½Π° ΡΡΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠ΅
++c;
}
seq.insert (pair (c, i));
}
for (multimap:iterator i = seq. begin (); i ≠ seq. end (); ++i) //ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π½ΡΠΆΠ½ΡΡ ΠΊΠ»Π΅ΡΠΊΡ
{
const int x0 = x + moves[i -> second]. dx;
const int y0 = y + moves[i -> second]. dy;
if (x0 >= 0 && x0 < N &&//ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π²ΡΡ ΠΎΠ΄ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π΄ΠΎΡΠΊΠΈ
y0 >= 0 && y0 < N &&//ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π±ΡΠ» Π»ΠΈ ΠΊΠΎΠ½Ρ Π½Π° ΡΡΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠ΅
!board[x0][y0] && solve (x0, y0))
return true;
}
board[x][y] = false;
solution.pop_back ();
return false;
}
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
void display ()//Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
{
glClear (GL_COLOR_BUFFER_BIT);
const int step = 480 / N;
glBegin (GL_QUADS);//Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ²
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
{
if ((i + j) % 2)
glColor3f (0.5, 0.5, 0.5);
else
glColor3f (0, 0, 0);
const int x = i * step;
const int y = j * step;
glVertex2f (x, y);
glVertex2f (x + step, y);
glVertex2f (x + step, y + step);
glVertex2f (x, y + step);
}
glEnd ();
glPointSize (3);
glBegin (GL_POINTS); //Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ Π½Π° Π΄ΠΎΡΠΊΠ΅)
glColor3f (0, 1, 0);
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
if (board[i][j])
{
const int x = i * step + step / 2;
const int y = j * step + step / 2;
glVertex2f (x, y);
}
glEnd ();
glPointSize (1);
glBegin (GL_LINE_STRIP);//Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΡ ΡΠΎΡΠΊΠΈ
for (vector:iterator i = solution. begin (); i ≠ solution. end (); ++i)
{
const int x = i -> x * step + step / 2;
const int y = i -> y * step + step / 2;
glVertex2f (x, y);
}
glEnd ();
glutSwapBuffers ();
}
5. Π’ΠΠ‘Π’ΠΠ ΠΠΠΠΠΠ Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠΉ Π΄ΠΎΡΠΊΠΈ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΎΡΠΊΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 8*8:
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π ΠΈΡΡΠ½ΠΎΠΊ 3. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΉ Π΄ΠΎΡΠΊΠΈ.
ΠΡΠΎΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ:
Π ΠΈΡΡΠ½ΠΎΠΊ 4. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΉ Π΄ΠΎΡΠΊΠ΅.
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΉ:
Π ΠΈΡΡΠ½ΠΎΠΊ 5. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π½Π° ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΉ Π΄ΠΎΡΠΊΠ΅.
ΠΠ°Π±ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΏΡΠΎΠΉΠ΄Π΅Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° «ΠΠ±Ρ ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌ» ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½Π°.
http://www.cyberforum.ru/cpp.
http://msdn.microsoft.com/ru-ru/library/60k1461a (v=VS.90).aspx
http://compgraphics.info/OpenGL/template_glut.php
C++ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . Π‘Π΅ΡΠΈΡ «Π¨Π°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ» / Π. Π¨ΠΈΠ»Π΄Ρ;
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΠ±Ρ ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: ΠΠ°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΉ Π΄ΠΎΡΠΊΠΈ ΡΠ°Ρ ΠΌΠ°ΡΠ½ΡΠΌ ΠΊΠΎΠ½Π΅ΠΌ.
1.1 ΠΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΡ Π·Π°Π½ΡΡΠΈΠΉ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
1.2 ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΉ Π΄ΠΎΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ N*N ΠΎΡ 5*5, Π΄ΠΎ 40*40 ΡΠ°Ρ ΠΌΠ°ΡΠ½ΡΠΌ ΠΊΠΎΠ½Π΅ΠΌ.
1.3 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅
1.3.1 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ°Ρ ΠΌΠ°ΡΠ½ΠΎΠΉ Π΄ΠΎΡΠΊΠΈ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΠΊΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° N*N ΠΎΡ 5*5 Π΄ΠΎ 40*40, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ ΠΎΠ΄Π° Π΄ΠΎΡΠΊΠΈ.
1.3.2 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
1.4 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΎΡΡΠ°Π²Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° IBM-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ .
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ: ΡΠΈΠΏ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° — Pentium III ΠΈ Π²ΡΡΠ΅; ΠΎΠ±ΡΠ΅ΠΌ ΠΠΠ£ — 512 ΠΠ± ΠΈ Π²ΡΡΠ΅.
ΠΠ°Π»ΠΈΡΠΈΠ΅ 10 ΠΠ± ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π½Π° Π΄ΠΈΡΠΊΠ΅.
ΠΠΠ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ Π½ΠΈΠΆΠ΅, ΡΠ΅ΠΌ Microsoft Windows XP.
1.5 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ windows Π²ΡΡΠ΅ XP.
1.6 Π£ΡΠ»ΠΎΠ²ΠΈΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ GLUT.
1.7 Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ.
1.8 Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠΈ. ΠΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΠΊΠ° ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΠΠ‘Π’ 19.404−79. ΠΠ‘ΠΠ.
1.9 Π‘ΡΠ°Π΄ΠΈΠΈ ΠΈ ΡΡΠ°ΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΠΏΠΎΠ²:
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΠ½Π°Π»ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΡΠ±ΠΎΡ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ ΠΎΠ± Π΅Π³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ
1.10 ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠΊΠΈ Π‘ΠΎΡΡΠ°Π²ΠΈΠ»:
ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅Π΄ΡΡ | ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ | Π€Π°ΠΌΠΈΠ»ΠΈΡ Π.Π. | ΠΠΎΠ΄ΠΏΠΈΡΡ | ΠΠ°ΡΠ° | |
ΠΠΠ | Π‘ΡΡΠ΄Π΅Π½Ρ Π³Ρ. 220 201 | Π€ΠΎΠΊΠΈΠ½ Π.Π. | |||
Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΎ:
ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅Π΄ΡΡ | ΠΠΎΠ½ΡΡΠ»ΡΡΠ°Π½Ρ ΠΏΠΎ ΡΠ°Π·Π΄Π΅Π»Ρ | ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ | Π€Π°ΠΌΠΈΠ»ΠΈΡ Π.Π. | ΠΠΎΠ΄ΠΏΠΈΡΡ | ΠΠ°ΡΠ° | |
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
#include «stdafx.h»
#include «glut.h»
#include
#include