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

Алгоритмы удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ ΠΈ Π³Ρ€Π°Π½Π΅ΠΉ

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

Алгоритмы удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π³Ρ€Π°Π½Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ условно ΠΏΠΎΠ΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Π΄Π²Π° класса Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… для ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ класс — это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² ΠΏΡ€ΠΎΡΡ‚ранствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для опрСдСлСния видимости Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ сравниваСтся Π΅Π΅ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ располоТСниС со Π²ΡΠ΅ΠΌΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ гранями Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСнС. ΠŸΡƒΡΡ‚ΡŒ N — количСство Π³Ρ€Π°Π½Π΅ΠΉ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСнС. Для… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Алгоритмы удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ ΠΈ Π³Ρ€Π°Π½Π΅ΠΉ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Алгоритмы удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π³Ρ€Π°Π½Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ условно ΠΏΠΎΠ΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Π΄Π²Π° класса Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… для ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ класс — это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² ΠΏΡ€ΠΎΡΡ‚ранствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для опрСдСлСния видимости Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ сравниваСтся Π΅Π΅ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ располоТСниС со Π²ΡΠ΅ΠΌΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ гранями Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСнС. ΠŸΡƒΡΡ‚ΡŒ N — количСство Π³Ρ€Π°Π½Π΅ΠΉ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСнС. Для построСния Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСны Π² ΡΡ‚ΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€Π°Π½ΠΈ с ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΌΠΈΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ порядка ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. НапримСр, ΠΏΡƒΡΡ‚ΡŒ количСство Π³Ρ€Π°Π½Π΅ΠΉ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСнС, Ρ‚ΠΎΠ³Π΄Π° врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² этого класса порядка 1,000,000 ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π”Ρ€ΡƒΠ³ΠΎΠΉ класс Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² — Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² ΠΏΡ€ΠΎΡΡ‚ранствС изобраТСния, основан Π½Π° Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ блиТайшСй Π³Ρ€Π°Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ пСрСсСкаСт Π»ΡƒΡ‡ зрСния, проходящий Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° Ρ€Π°ΡΡ‚Ρ€Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ число Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΠΎΠΌ экранС фиксировано, Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ этого класса ΠΌΠ΅Π½Π΅Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ количСства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСнС. ΠŸΡƒΡΡ‚ΡŒ n — число Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΠΎΠΌ экранС. Π’ΠΎΠ³Π΄Π° количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для построСния Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСны Π±ΡƒΠ΄Π΅Ρ‚ порядка. НапримСр, для экранного Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ 320 200 Ρ‚ΠΎΡ‡Π΅ΠΊ, 64 000, Ρ‚ΠΎΠ³Π΄Π° количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для 1000 Π³Ρ€Π°Π½Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ порядка 64,000,000. Π’Ρ‹Π±ΠΎΡ€ класса Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Рассмотрим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π³Ρ€Π°Π½Π΅ΠΉ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

z-Π±ΡƒΡ„Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… прилоТСниях ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΎΡΡ‚ранствС изобраТСния ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ся Π² Ρ‚Π°ΠΊΠΈΡ… популярных графичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… ΠΊΠ°ΠΊ OpenGL ΠΈ Direct3D.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ. ΠŸΡƒΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΎΠΊΠ½Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ экрана ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ X Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ Y Ρ‚ΠΎΡ‡Π΅ΠΊ Π² Π²Ρ‹ΡΠΎΡ‚Ρƒ. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ z-Π±ΡƒΡ„Π΅Ρ€Π° Π·Π°Π²Π΅Π΄Π΅ΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив чисСл ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ с ΠΎΠΊΠ½ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ экрана, Ρ‚. Π΅. XY. Π’ z-Π±ΡƒΡ„Π΅Ρ€Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСла.

Π’ Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² z-Π±ΡƒΡ„Π΅Ρ€ заносятся значСния, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ бСсконСчности. КаТдая Π³Ρ€Π°Π½ΡŒ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, прСдставлСнная Π² Π²ΠΈΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, прСобразуСтся Π² Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ. ΠŸΡ€ΠΈ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² Ρ€Π°ΡΡ‚Ρ€ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° вычисляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π΅ z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Если z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° оказалась мСньшС Ρ‡Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² z-Π±ΡƒΡ„Π΅Ρ€Π΅, Ρ‚ΠΎ Π² z-Π±ΡƒΡ„Π΅Ρ€ заносится z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΈ Π½Π° ΡΠΊΡ€Π°Π½Π΅ рисуСтся Ρ‚ΠΎΡ‡ΠΊΠ° Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. ПослС разлоТСния Π² Ρ€Π°ΡΡ‚Ρ€ всСх ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ сцСны построСно.

Рассмотрим способ ускорСнного вычислСния z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π² Ρ€Π°ΡΡ‚Ρ€. Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ плоскости, ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ Π² ΠΏΡ€ΠΎΡΡ‚ранствС:.

Алгоритмы удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ ΠΈ Π³Ρ€Π°Π½Π΅ΠΉ.
Алгоритмы удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ ΠΈ Π³Ρ€Π°Π½Π΅ΠΉ.
Алгоритмы удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ ΠΈ Π³Ρ€Π°Π½Π΅ΠΉ.

Π’Ρ‹Ρ€Π°Π·ΠΈΠΌ z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Ρ‚ΠΎΡ‡ΠΊΠΈ:. ΠŸΡƒΡΡ‚ΡŒ. НайдСм z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ для сосСднСй Ρ‚ΠΎΡ‡ΠΊΠΈ. Для сосСднСго пиксСла Π½Π° ΡΠΊΡ€Π°Π½Π΅, Ρ‚ΠΎΠ³Π΄Π°, ΠΎΡ‚ΡΡŽΠ΄Π° слСдуСт, Ρ‡Ρ‚ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вычислСниС z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ сосСднСго пиксСла сводится ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вычитания.

Алгоритмы удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π΅Π±Π΅Ρ€ ΠΈ Π³Ρ€Π°Π½Π΅ΠΉ.

Рассмотрим Π΄Π°Π»Π΅Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π³Ρ€Π°Π½Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ сортировки ΠΏΠΎ Π³Π»ΡƒΠ±ΠΈΠ½Π΅ (Π°Π²Ρ‚ΠΎΡ€Ρ‹: Ньюэлл, Ньюэлл, Π‘Π°Π½Ρ‡Π°). Π§Π°ΡΡ‚ΡŒ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΎΡΡ‚ранствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Ρ‡Π°ΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΡΡ‚ранствС изобраТСния. Он Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ пСрспСктивноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π²Π΅Π΄Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ пространствСнной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… основных шагов:

УпорядочСниС всСх ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π² ΡΠΎΠΎΡ‚вСтствии с ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ.

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ всСх нСопрСдСлСнностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ z-ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π² Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠ΅ΠΉ z-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹.

Π‘Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ послСдними ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‚Π΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ…. РСализация ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² 1 ΠΈ 3 достаточно ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°. Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡƒΠ½ΠΊΡ‚ 2.

ΠŸΡƒΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ P ΠΏΠΎΡΠ»Π΅ упорядочСния находится Π² ΠΊΠΎΠ½Ρ†Π΅ списка, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ. ВсС ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ Q Ρ‡ΡŒΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ с z-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ P Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠΎ ΠΏΡΡ‚ΠΈ тСстам (шагам). Если Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ шагС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΡƒΡ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚, Ρ‚ΠΎ P ΡΡ€Π°Π·Ρƒ прСобразуСтся Π² Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

ΠŸΡΡ‚ΡŒ тСстов:

x-ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ся, поэтому сами ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ся.

y-ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ся, поэтому сами ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ся.

P ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ располоТСн с Ρ‚ΠΎΠΉ стороны ΠΎΡ‚ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ Q, которая дальшС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния (этот тСст Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 36 Π°).

Q ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ располоТСн с Ρ‚ΠΎΠΉ стороны ΠΎΡ‚ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ P, которая Π±Π»ΠΈΠΆΠ΅ ΠΊ Ρ‚ΠΎΡ‡ΠΊΠ΅ зрСния. Π­Ρ‚ΠΎΡ‚ тСст Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 36 b).

ΠŸΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ xOy, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ся (это опрСдСляСтся сравнСниСм Ρ€Π΅Π±Π΅Ρ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° с Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ).

Π°) b).

Рис. 36. Π’Π·Π°ΠΈΠΌΠ½Ρ‹Π΅ располоТСния Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π² ΠΏΡ€ΠΎΡΡ‚ранствС

Если Π²ΠΎ Π²ΡΠ΅Ρ… пяти тСстах ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚, Ρ‚ΠΎ P — Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Q. Π’ΠΎΠ³Π΄Π° мСняСм P ΠΈ Q Π² ΡΠΏΠΈΡΠΊΠ΅ мСстами. Π’ ΡΠ»ΡƒΡ‡Π°Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 37, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ зацикливаСтся.

Для избСТания зацикливания вводится ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠΎΠ½Π΅Ρ† списка (Ρ‚.Π΅. ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ), Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½. ВмСсто этого ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ P ΠΈΠ»ΠΈ Q Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅Ρ‚ся ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π½Π° Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Π­Ρ‚ΠΈ Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ мСста упорядочСнного списка, ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² узкоспСциализированный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Π³Ρ€Π°Π½Π΅ΠΉ Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹Ρ… Ρ‚Π΅Π» позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ вычислСния Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ пСрспСктивной ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ. Рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 38.

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

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