ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΏΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅:
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌΡΡ ΠΌΠ°ΡΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ.
ΠΡΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΡΡ Π½Π° Π²Π΅ΠΊΡΠΎΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Π΅ΠΌ ΡΠ»Π°Π³Π°Π΅ΠΌΡΡ ΡΡΠΌΠΌΡ Π±Π΅ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ°.
ΠΠ΄ΠΈΠ½ΠΈΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ°, Ρ. Π΅. ΠΌΠ°ΡΡΠΈΡΠ°, ΠΏΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠΈΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. ΠΡΡΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ - ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π΅Π΅ Π½Π° Π²Π΅ΠΊΡΠΎΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ Π²Π΅ΠΊΡΠΎΡ.
ΠΠ°ΡΡΠΈΡΡ ΡΠ΄Π²ΠΈΠ³Π° ΠΏΠΎ ΠΎΡΡΠΌ X, Y ΠΈ Z Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
ΠΡΠ»ΠΈ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π²Π΅ΠΊΡΠΎΡ (X, Π£, Z, W) Π½Π° ΠΌΠ°ΡΡΠΈΡΡ ΡΠ΄Π²ΠΈΠ³Π° ΠΏΠΎ ΠΎΡΠΈ X, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²Π΅ΠΊΡΠΎΡ (X + W o a, Y, Z, W). Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΠΊΡΠΎΡΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π²ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΌΠ°ΡΡΠΈΡΡ ΡΠ΄Π²ΠΈΠ³Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ Π½ΡΠΆΠ½ΠΎΠΉ ΠΎΡΠΈ.
Π’ΡΠΈ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ΄Π²ΠΈΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π² ΠΎΠ΄Π½Ρ, Π΄Π°ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠ΄Π²ΠΈΠ³ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΎΡΡΠΌ. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° ΡΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π½ΡΠ»Π΅Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠ»Π±ΡΠ°Ρ , ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π½ΡΠΆΠ½ΡΠΌ ΠΎΡΡΠΌ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ Π² Direct3D, ΠΏΠΎΡΡΠ½Ρ: Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄ΡΡ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡΡΡ Π²Π΅ΠΊΡΠΎΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π²Π΅ΡΡΠΈΠ½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅. Π ΠΏΠΎΠΊΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π° ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ΄Π²ΠΈΠ³Π°, Π²ΡΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ΄Π²ΠΈΠ³Ρ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° Π½Π° ΡΠ³ΠΎΠ» Π° Π²ΠΎΠΊΡΡΠ³ ΠΎΡΠΈ X Π²Π΅ΠΊΡΠΎΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π²Π΅ΡΡΠΈΠ½Ρ Π½Π°Π΄ΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½Π° ΡΠ°ΠΊΡΡ ΠΌΠ°ΡΡΠΈΡΡ:
ΠΡΠ»ΠΈ ΠΆΠ΅ Π½Π°Π΄ΠΎ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡ Π½Π° ΡΠ³ΠΎΠ» (3 Π²ΠΎΠΊΡΡΠ³ ΠΎΡΠΈ Y, ΡΠΎ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ:
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠ²ΠΎΡΠΎΡΠΎΠΌ: ΡΠ³ΠΎΠ» Ρ, ΠΏΠΎΠ²ΠΎΡΠΎΡ Π²ΠΎΠΊΡΡΠ³ ΠΎΡΠΈ Z:
Π§ΡΠΎΠ±Ρ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΎΡΡΠΌ Π»ΠΈΠ±ΠΎ ΡΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΈ ΡΠ΄Π²ΠΈΠ³, Π½Π°Π΄ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π²Π°ΠΆΠ΅Π½ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ, ΠΎΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π² ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΌ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠΈΡΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ. ΠΠΎΠΌΠΈΠΌΠΎ ΠΌΠΈΡΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π²ΠΈΠ΄ΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π³Π»Π°Π·Π° Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Ρ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΡΠΌΠΎΡΡΠΈΡ. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠΈΡΠΎΠ²ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ΄Π²ΠΈΠ³Π° ΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ°.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΈ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ΅Π½Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΡΠ°ΠΊ ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ - ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π½Π΅ΠΉ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΉ ΠΎΡΡΠ΅ΠΊΠ°ΡΡΠΈΡ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠ΅ΠΉ, ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΠΌΠΈΡΠΈΡΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ (ΡΠΈΡ. 9.1).
ΠΠ±ΡΠ΅ΠΊΡΡ, ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΠ΅ΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π½Π° ΡΠΊΡΠ°Π½ ΠΏΡΠΎΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ, ΠΈ ΠΌΡ ΠΈΡ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΠΌ.
ΠΡΠ°ΠΊ, ΠΌΡ Π±ΡΠΎΡΠΈΠ»ΠΈ Π±Π΅Π³Π»ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π° ΡΡΡ ΠΎΠΉ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ½Π΅ΡΠ»ΠΈ ΡΡΠΆΠ΅Π»ΠΎΠ΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ Π½Π°Ρ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π±ΡΡΠ΅Π»ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΡΠΌΡΠ». ΠΡΡΠ°ΡΡΠΈ ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°. Direct3D ΠΎΡΡΠ°Π²ΠΈΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΡΠ³ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ, ΠΎΠΆΠΈΠ΄Π°Ρ ΠΎΡ Π½Π΅Π³ΠΎ ΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Dxcutiis, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ²ΡΠΎΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π½Π° Delphi ΠΊΠΎΠ΄Π° ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΊΠ°Π·Π°Π½ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ.
Π ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ, ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ex01, ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ, Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ Π²ΡΠ°ΡΠ°ΡΡΡΡ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°: ΡΠ°Π·Π½ΠΎΡΠ²Π΅ΡΠ½ΡΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΈ ΠΆΠ΅Π»ΡΡΠΉ ΠΊΠ²Π°Π΄ΡΠ°Ρ (ΡΠΈΡ. 9.2).
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈ Π²ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅ΡΡ ΠΎΠ±Π΅ ΠΈΡ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΡΠ²Π΅ΡΠ°:
with FDBDDevice do begin
SetRenderState(D3DRS_CULLMODE, D3DCULL_HONE);
SetRenderState(D3DRS_LIGHTING, DWORD (False)); end;
ΠΡΡΠ΅Ρ Π²Π΅ΡΡΠΈΠ½ Π·Π°ΠΏΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. Π‘Π΅ΠΌΡ Π²Π΅ΡΡΠΈΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°. ΠΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π½Π΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΡΠΌΠΈ, ΡΠΎ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π»ΠΈΡΡ Π±Ρ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°:
Vertices.X := 0.0; // ΠΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
Vertices.Y := 1.0;
Vertices.Z := 0.0;
Vertices.Color := $00FF0000;
Inc(Vertices);
Vertices.X := 1.0; // ΠΡΠΎΡΠ°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
Vertices.Y := -1.0;
Vertices.Z := 0.0;
Vertices.Color := $0000FF00;
Inc(Vertices);
Vertices.X := -1.0; // Π’ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΠ½Π° ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°
Vertices.Y := -1.0;
Vertices.Z := 0.0;
Vertices.Color := $000000FF;
Inc(Vertices);
Vertices.X := -1.0; // ΠΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
Vertices.Y := -1.0;
Vertices.Z := 0.0;
Vertices.Color := $00FFFF00;
Inc(Vertices);
Vertices.X := -1.0; // ΠΡΠΎΡΠ°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
Vertices.Y := 1.0;
Vertices.Z := 0.0;
Vertices.Color := $00FFFF00;
Inc(Vertices);
Vertices.X := 1.0; // Π’ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΠ½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
Vertices.Y := -1.0;
Vertices.Z := 0.0;
Vertices.Color := $00FFFF00;
Inc(Vertices);
Vertices.X := 1.0; // Π§Π΅ΡΠ²Π΅ΡΡΠ°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
Vertices.Y := 1.0;
Vertices.Z := 0.0;
Vertices.Color := $00FFFF00;
ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΊΠ°Π΄ΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°:
procedure TfrmD3D.DrawScene;
var
matView, matProj : TDSDMatrix; // ΠΠ°ΡΡΠΈΡΡ 4x4
matRotate, matTranslate : TDSDMatrix;
begin
// ΠΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° Π²ΠΎΠΊΡΡΠ³ ΠΎΡΠΈ X
SetRotateXMatrix(matRotate, Angle); // ΠΠ°ΡΡΠΈΡΠ° ΡΠ΄Π²ΠΈΠ³Π° ΠΏΠΎ ΠΎΡΠΈ X, Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π»Π΅Π²ΠΎ
SetTranslateMatrix(matTranslate, -1.0, 0.0, 0.0); // Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΌΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ FDSDDevice.SetTransform(D3DTS_WORLD,
MatrixMul(matRotate, matTranslate)); // ΠΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ
FD3DDevice.DrawPrimiti.ve(D3DPTJTRIANGLELIST, 0, 1); // ΠΠ²Π°Π΄ΡΠ°Ρ Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΠΎΡΠΈ Y Π² 2 ΡΠ°Π·Π° Π±ΡΡΡΡΠ΅Π΅ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° SetRotateYMatrix(matRotate, 2 * Angle); // ΠΠ²Π°Π΄ΡΠ°Ρ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΠΏΡΠ°Π²ΠΎ
SetTranslateMatrix(matTranslate, 1.0, 0.0, 0.0); // ΠΠ°ΡΡΠΈΡΠ° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
FD3DDevice.SetTransform(D3DTS_WORLD,
MatrixMul(matTranslate, matRotate)); // ΠΡΠ²ΠΎΠ΄ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°
FD3DDevice.DrawPrimitive(D3DPT_TRIANGLESTRIP, 3, 2); // ΠΠ°Π΄Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡΡ
SetViewMatrix(matView, D3DVector(0, 0, -5),
D3DVector(0, 0, 0), D3DVector(0, 1, 0)); // Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡΡ
FD3DDevice.SetTransform(D3DTS_VIEW, matView); // ΠΠ°Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΉ
SetProjectionMatrix(matProj, I, 1, 1, 10); // Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΉ
FD3DDevice.SetTransform(D3DTS_PROJECTION, matProj);
end;
Π’ΠΈΠΏ TD3DMatrix, ΠΌΠ°ΡΡΠΈΠ² 4x4 Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π», ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ DirectxGraphics, Π° Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ - Π² ΠΌΠΎΠ΄ΡΠ»Π΅ DXGUtils. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠΈΠΏΠ° HRESULT, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ, Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ.
Π€ΡΠ½ΠΊΡΠΈΡ D3DVector ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎ ΡΡΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ Π²Π΅ΠΊΡΠΎΡ, ΡΡΠΎΠΉΠΊΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π», Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠΈΠΏΠ° TD3DVector.
Π€ΡΠ½ΠΊΡΠΈΡ SetRotateXMatrix ΠΏΠ΅ΡΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° Π²ΠΎΠΊΡΡΠ³ ΠΎΡΠΈ X. ΠΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ³ΠΎΠ», Π² ΡΠ°Π΄ΠΈΠ°Π½Π°Ρ , Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡ. Π€ΡΠ½ΠΊΡΠΈΡ SetTranslateMatrix ΠΏΠ΅ΡΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ΄Π²ΠΈΠ³Π°. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π²ΠΈΠ½ΡΡΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΎΡΡΠΌ.
ΠΠ΅ΡΠΎΠ΄ setTransform ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ. ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ, Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠ°ΡΡΠΈΡΠ° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΈ ΠΌΠ°ΡΡΠΈΡΡ ΡΠ΄Π²ΠΈΠ³Π°, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π² ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΡΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΡ MatrixMul ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π΄Π²Π΅ ΠΌΠ°ΡΡΠΈΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Ρ, ΡΡΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΈΡ ΠΌΠ°ΡΡΠΈΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ΅Π½. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·Π½ΠΎΡΠ²Π΅ΡΠ½ΡΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΠΎΡΠΈ X, Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π»Π΅Π²ΠΎ, ΠΏΠΎ ΡΡΠΎΠΉ ΠΆΠ΅ ΠΎΡΠΈ.
ΠΠ²Π°Π΄ΡΠ°Ρ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π½Π°ΡΠ°Π»Π΅ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π²ΠΏΡΠ°Π²ΠΎ, Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΠΎΡΠΈ Y (ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΡΠΈ, Π° Π½Π΅ ΠΌΠΈΡΠΎΠ²ΠΎΠΉ). ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ.
Π€ΡΠ½ΠΊΡΠΈΡ setviewMatrix ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΠΈΠ΄ΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅: ΠΌΠ°ΡΡΠΈΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π²Π΅ΠΊΡΠΎΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΡΠΎΡΠΊΡ, Π³Π΄Π΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π³ΠΎΠ»ΠΎΠ²Π° Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Ρ, ΠΎΠΏΠΎΡΠ½Π°Ρ ΡΠΎΡΠΊΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ°Ρ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΈ Π²Π΅ΠΊΡΠΎΡ, Π·Π°Π΄Π°ΡΡΠΈΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π·Π³Π»ΡΠ΄Π°.
Π€ΡΠ½ΠΊΡΠΈΡ setProjectionMatrix ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΈ. ΠΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π΄Π°Π΅Ρ ΡΠ³ΠΎΠ» ΠΎΠ±Π·ΠΎΡΠ° ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎ ΠΎΡΠΈ Y, ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅ ΡΠ³ΠΎΠ» ΠΎΠ±Π·ΠΎΡΠ° ΠΏΠΎ ΠΎΡΠΈ X, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° - ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΎΡ Π³Π»Π°Π·Π° Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Ρ Π΄ΠΎ Π±Π»ΠΈΠΆΠ½Π΅ΠΉ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠ΅ΠΉ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ·ΠΎΠ²ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΈΡ ΡΠΌΡΡΠ». ΠΠΎΠΊΠ° ΠΆΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΠ΅Π½Ρ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΡΠΈ Z, ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΎΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΡΠ΅ΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π½Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ 5 Π΅Π΄ΠΈΠ½ΠΈΡ.
Π Π΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ:
* ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² Π·Π°Π΄Π°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΠΈ; ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°; Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ²Π΅ΡΠ°.