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

АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. 
РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅

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

Зная ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ коэффициСнты прямых. Π’Π°ΠΊΠΆΠ΅, Π½ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½ Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹ΠΌ осям, содСрТащий наш Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ описываСтся уравнСниями Π’, ΠΈ" *Ρ… <οΏ½Ρ…Ρ‚Π°Ρ…, ΡƒΡ‚Ρ‚ <οΏ½Ρƒ<οΏ½ΡƒΡ‚Ρ‚. Π”Π°Π»Π΅Π΅ просто ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ всС цСлочислСнныС Ρ‚ΠΎΡ‡ΠΊΠΈ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ этого… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

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

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

РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ вся соврСмСнная ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° являСтся растровой, Ρ‚. Π΅. ΠΎΠ½Π° строит Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ изобраТСния, состоящиС ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… пиксСлов. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ пиксСл ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ своими ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ ΠΈ ΡΠ²ΠΎΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. ВсС пиксСлы располоТСны Π½Π° растровой сСткС, которая прСдставляСт собой мноТСство Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ с Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (рис. 7.1).

Растровая сСтка.

Рис. 7.1. Растровая сСтка.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ своими ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ. ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°Π΄ этими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΈ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ этапС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° растСризации — ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… матСматичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ) Π² Π½Π°Π±ΠΎΡ€ пиксСлов.

ΠŸΡ€ΠΈ растСризации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ СстСствСнноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅: Ссли исходный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся связным (Ρ‚.Π΅. Π΄Π²Π΅ Π΅Π³ΠΎ Π»ΡŽΠ±Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅), Ρ‚ΠΎ ΠΈ Π΅Π³ΠΎ растровоС прСдставлСниС Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ связным Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС. Говоря ΠΎ ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΠΈ Π½Π° Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΠΎΠΉ сСткС, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° опрСдСлСния связности — 4-ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒ ΠΈ 8-ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŠ.

ΠŸΠΈΠΊΡΠ΅Π»Ρ‹ (Ρ…0 Ρƒ0) ΠΈ (Ρ…Ρ… ΡƒΡ…) ΡΠ²Π»ΡΡŽΡ‚ΡΡ 4-связными (сосСдними) Ρ‚ΠΎΠ³Π΄Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ нСравСнство |^-.Π³0| + +Ρƒ0 — Π³/, | < 1 (рис. 7.2, слСва). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π΄Π²Π° пиксСла ΡΠ²Π»ΡΡŽΡ‚ΡΡ 4-связными, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅ ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

Π‘ΠΎΠ»Π΅Π΅ мягким Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ являСтся 8-ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒ: пиксСлы (Ρ…0 Ρƒ0) ΠΈ {Ρ…Ρ… Ρƒ{) ΡΠ²Π»ΡΡŽΡ‚ΡΡ 8-связными, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° нСравСнства: |.r, -Ρ…0| < 1, |Ρƒ{ -Ρƒ()| < 1 (рис. 7.2, справа).

Π‘Π²ΡΠ·Π½ΠΎΡΡ‚ΡŒ пиксСлов.
Рис. 7.2. Π‘Π²ΡΠ·Π½ΠΎΡΡ‚ΡŒ пиксСлов.

Рис. 7.2. Π‘Π²ΡΠ·Π½ΠΎΡΡ‚ΡŒ пиксСлов.

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π΄Π²Π° пиксСла 4-связны, Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈ 8-связными. ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π½Π΅Π²Π΅Ρ€Π½ΠΎ — пиксСлы (О, 0) ΠΈ (1, 1) ΡΠ²Π»ΡΡŽΡ‚ΡΡ 8-связными, Π½ΠΎ Π½Π΅ 4-связными.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ пиксСлов Π½Π° Ρ€Π°ΡΡ‚Ρ€ΠΎΠ²ΠΎΠΉ сСткС являСтся связным (4- ΠΈΠ»ΠΈ 8-связным), Ссли для Π»ΡŽΠ±Ρ‹Ρ… Π΄Π²ΡƒΡ… Π΅Π΅ ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ² сущСствуСт такая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ пиксСлов, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°ΡΡΡ послСдним пиксСлом, Ρ‡Ρ‚ΠΎ Π»ΡŽΠ±Ρ‹Π΅ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… пиксСла ΡΠ²Π»ΡΡŽΡ‚ΡΡ сосСдними (Ρ‚.Π΅. 4- ΠΈΠ»ΠΈ 8-связными).

БоотвСтствСнно, ΠΏΡ€ΠΈ растСризации ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… матСматичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ связными), Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ, Π΄ΡƒΠ³ΠΈ ΠΈ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΏΡ€ΠΈ этом мноТСство пиксСлов Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΎ связным. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° связности ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 4-ΡΠ²ΡΠ·Π½ΡƒΡŽ ΠΈ 8-ΡΠ²ΡΠ·Π½ΡƒΡŽ растровыС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Одним ΠΈΠ· ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² растСризации являСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π‘Ρ€Π΅Π·Π΅Π½Ρ…Π΅ΠΉΠΌΠ°. Π”Π°Π»Π΅Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡƒΡ‚Π΅ΠΌ ряда ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π‘Ρ€Π΅Π·Π΅Π½Ρ…Π΅ΠΉΠΌΠ°, извСстному ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ сСрСдинной Ρ‚ΠΎΡ‡ΠΊΠΈ. ΠŸΡ€ΠΈ этом Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ построСниС 8-связной Ρ€Π°Π·Π²Π΅Ρ€Ρ‚ΠΊΠΈ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ°.

ΠŸΡƒΡΡ‚ΡŒ Ρƒ Π½Π°Ρ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ АВ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ своими ΠΊΠΎΠ½Ρ†Π°ΠΌΠΈ — Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ А (Ρ…Π°> ΡƒΠ°) ΠΈ B (xh, ΡƒΡŒ) с Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ. НалоТим Π½Π° ΡΡ‚ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ условиС:

ΠΎ ^Уь~Π£" <Ρ…ΡŒ~Уь (рис- 7.3).

РастСризация ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° АВ.

Рис. 7.3. РастСризация ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° АВ.

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

Π‘Π°ΠΌΡ‹ΠΉ простой способ получСния 8-связной Ρ€Π°Π·Π²Π΅Ρ€Ρ‚ΠΊΠΈ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° АВ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ уравнСния прямой, проходящСй Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ Π› ΠΈ Π’ Π² Π²ΠΈΠ΄Π΅ Ρƒ = kx + b. ΠŸΡ€ΠΈ этом, Π² ΡΠΈΠ»Ρƒ Π½Π°Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ условия, 0 < k < 1. Π’ΠΎΠ³Π΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ СдинствСнноС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π³/, просто ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ kx + b Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅Π³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа.

НиТС приводится исходный ΠΊΠΎΠ΄ для этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Ρ‡Π΅Ρ€Π΅Π· putPixel ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° функция, выводящая пиксСл с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ, ΠΈ Ρ‡Π΅Ρ€Π΅Π· round ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° функция для округлСния значСния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅Π³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа:

АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΡ€Π°ΠΉΠ½Π΅ нСэффСктивСн. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ нСсколько ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, ΠΎΡ‚ΠΊΠ°Π·Π°Π²ΡˆΠΈΡΡŒ ΠΎΡ‚ ΡΠ²Π½ΠΎΠ³ΠΎ вычислСния выраТСния kx + b для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½Ρ‹ΠΌ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ:

АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ являСтся ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ round. ВмСсто этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ явно ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ выраТСния kx + b:

АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

Π’ΠΎΠ³Π΄Π° Ссли для i-Π³ΠΎ пиксСла с{ < ½, Ρ‚ΠΎ ΠΎΠΊΡ€ΡƒΠ³Π»ΡΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π½ΠΈΠ·, ΠΈΠ½Π°Ρ‡Π΅ — округляСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π²Π΅Ρ€Ρ…. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ i-ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊ (Π³ + 1)-ΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ см =cj + &, Ссли с, < ½, ΠΈ см =ci+k — 1 — Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ…0 = Ρ…Π°, Ρƒ0 = ΡƒΠ° ΠΈ с0 = 0. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ:

АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ шаг ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ — вмСсто сравнСния с; с ½ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ d. = 2с; -1с Π½ΡƒΠ»Π΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΏΡ€ΠΎΡ‰Π΅:

АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ шагом ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. НСслоТно ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС вСщСствСнныС числа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅, ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΈΠ΄ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° —-—. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ,.

Ρ…ΡŒ-Ρ…*

Ссли ΠΌΡ‹ ΡƒΠΌΠ½ΠΎΠΆΠΈΠΌ всС dj Π½Π° Ρ…ΡŒ — Ρ…Π°, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄Π΅ΠΌ ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Ρ… чисСл. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ: АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для получСния 4-связной Ρ€Π°Π·Π²Π΅Ρ€Ρ‚ΠΊΠΈ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ°.

Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π·Π°Π΄Π°Ρ‡Π΅ растСризации Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Π­Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ основная Ρ‡Π°ΡΡ‚ΡŒ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° задаСтся Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€ΠΎΠ² Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ GPU ΠΈΠΌΠ΅ΡŽΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ растСризации Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли просто Ρ€Π°ΡΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π±Ρ€Π° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ пространство ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ пиксСлы, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π²Π½Π΅ исходного Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° (рис. 7.4).

РастСризация Ρ€Π΅Π±Π΅Ρ€ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Рис. 7.4. РастСризация Ρ€Π΅Π±Π΅Ρ€ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΈ Π»Π΅Π²Ρ‹Π΅ Ρ€Π΅Π±Ρ€Π° для Π½Π°Π±ΠΎΡ€Π° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².

Рис. 7.5. Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΈ Π»Π΅Π²Ρ‹Π΅ Ρ€Π΅Π±Ρ€Π° для Π½Π°Π±ΠΎΡ€Π° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².

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

Π”Π°Π»ΡŒΡˆΠ΅ рассмотрим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ растСризации Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π³Ρ€Π°Ρ„ичСских процСссорах. Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΡ‡Π΅Π½ΡŒ прост ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½. Основная идСя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ… прямых, проходящих Ρ‡Π΅Ρ€Π΅Π· Π΅Π³ΠΎ Ρ€Π΅Π±Ρ€Π° (рис. 7.6).

Π’Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ… прямых.

Рис. 7.6. Π’Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ… прямых.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ прямая, задаваСмая ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ Ах + By + Π‘ = О, Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ всю ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ Π½Π° Π΄Π²Π΅ полуплоскости: Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Ах + Π’Ρƒ+Π‘ >0, Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ — Ах + Π’Ρƒ+Π‘ <0. ΠŸΡ€ΠΈ этом ΠΌΡ‹ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ наш Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π»Π΅ΠΆΠΈΡ‚ Π² ΠΏΠΎΠ»ΡƒΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ Ах + Π’Ρƒ+Π‘ >0. Если это Π½Π΅ Ρ‚Π°ΠΊ, достаточно просто ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ прямой Π½Π° -1. Π’ΠΎΠ³Π΄Π° вСсь Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн ΠΊΠ°ΠΊ пСрСсСчСниС Ρ‚Ρ€Π΅Ρ… полуплоскостСй, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… уравнСниями А.Ρ… + Π’. Ρƒ+Π‘. >0, i = 1,2,3. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π»Π΅ΠΆΠΈΡ‚ Π»ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ пиксСл Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, достаточно просто ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡ этих плоскостСй. Если ΠΏΡ€ΠΈ этом всС Ρ‚Ρ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ числа ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹, Ρ‚ΠΎ ΠΏΠΈΠΊΡΠ΅Π» Π»Π΅ΠΆΠΈΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Ссли ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ пиксСл Π»Π΅ΠΆΠΈΡ‚ Π²Π½Π΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

НиТС приводится ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π½ΠΎ Ρ‚Ρ€Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ коэффициСнты прямой, проходящСй Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ Ρ‚ΠΎΡ‡ΠΊΠ° Π»Π΅ΠΆΠΈΡ‚ Π² ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ полуплоскости ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этой прямой: АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

АлгоритмичСскиС основы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. РастровыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ видимости, Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅.

Зная ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ коэффициСнты прямых. Π’Π°ΠΊΠΆΠ΅, Π½ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½ Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹ΠΌ осям, содСрТащий наш Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ описываСтся уравнСниями Π’, ΠΈ" *Ρ… <οΏ½Ρ…Ρ‚Π°Ρ…, ΡƒΡ‚Ρ‚ <οΏ½Ρƒ<οΏ½ΡƒΡ‚Ρ‚. Π”Π°Π»Π΅Π΅ просто ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ всС цСлочислСнныС Ρ‚ΠΎΡ‡ΠΊΠΈ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… провСряСм, Π»Π΅ΠΆΠΈΡ‚ Π»ΠΈ ΠΎΠ½Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°.

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

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