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

ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Β«ReadLineΒ»

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

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ‡Π΅Ρ€Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° Ρ€Π°ΡΡ‚Ρ€Π΅, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ, ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρƒ Π»ΠΈΠ½ΠΈΠΈ папиллярного ΡƒΠ·ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ эта Ρ‚ΠΎΡ‡ΠΊΠ°; R. ReadLine (Map) — ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρƒ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ· Ρ‚ΠΎΡ‡ΠΊΠΈ Map, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΌΠΈΠ½ΡŽΡ†ΠΈΠΉ Начало Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· Ρ€Π°ΡΡ‚Ρ€Π° R ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ Map. Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ основныС дСйствия ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Β«ReadLineΒ» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

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

Входная информация. Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ являСтся Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ растр послС ΠΏΡ€Π΅Π΄ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Растр ΠΈΠΌΠ΅Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ 1Π±ΠΈΡ‚ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ 600 dpi. Π€ΠΎΡ€ΠΌΠ°Ρ‚ bmp (ΠΎΡ‚ ΡΠ»ΠΎΠ² BitMaP — битовая ΠΊΠ°Ρ€Ρ‚Π°, ΠΈΠ»ΠΈ, говоря ΠΏΠΎ-русски, Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ массив) прСдставляСт ΠΈΠ· ΡΠ΅Π±Ρ нСсТатоС (Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ), Ρ‡Ρ‚ΠΎ позволяСт Π½Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚Π΅ΠΉ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π€ΠΎΡ€ΠΌΠ°Ρ‚ bmp довольно Π»Π΅Π³ΠΊΠΎ читаСтся ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся Π² ΠžΠ‘ Windows, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ API.

Выходная информация. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ являСтся список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π³Π΄Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ спСцифичСскиС Ρ‚ΠΎΡ‡ΠΊΠΈ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Π΄Π΅Ρ‚Π°Π»ΡŒ), Π² Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ…. Бписок, располоТСнный Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС содСрТит ΠΏΠΎΠΌΠΈΠΌΠΎ Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ — Π»ΠΎΠΆΠ½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ нСкачСствСнном Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Π·Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива (рисунок 3.6) содСрТит всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° — 2×4 Π±Π°ΠΉΡ‚Π°, ΡƒΠ³ΠΎΠ» направлСния 8 Π±Π°ΠΉΡ‚, Ρ‚ΠΈΠΏ Ρ‚ΠΎΡ‡ΠΊΠΈ 1 Π±Π°ΠΉΡ‚.

Рисунок 3.6 — Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° массива Π³Π΄Π΅ Xi, Yi — ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΌΠΈΠ½ΡŽΡ†ΠΈΠΈ Π½Π° Ρ€Π°ΡΡ‚Ρ€Π΅;

i — ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ ΠΌΠΈΠ½ΡŽΡ†ΠΈΠΈ;

T — Π’ΠΈΠΏ (ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ Ρ€Π°Π·Π΄Π²ΠΎΠ΅Π½ΠΈΠ΅);

k — ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΌΠΈΠ½ΡŽΡ†ΠΈΠΉ.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ постановка Π·Π°Π΄Π°Ρ‡ΠΈ. Поиск ΠΌΠΈΠ½ΡŽΡ†ΠΈΠΉ происходит ΠΏΠΎ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… особСнностСй. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ особСнности это ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ искривлСния ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° Π»ΠΈΠ½ΠΈΠΉ, ΠΎΠ΄Π½ΠΈ ΠΈΠ· ΠΈΡΠΊΡ€ΠΈΠ²Π»Π΅Π½ΠΈΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠΈΠ½ΡŽΡ†ΠΈΡΠΌΠΈ — это окончания ΠΈ Ρ€Π°Π·Π΄Π²ΠΎΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π½ΠΈΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ слипания сосСдних Π»ΠΈΠ½ΠΈΠΉ ΠΈ ΠΎΠ±Ρ€Ρ‹Π²Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.6 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ «ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅», ΠΏΡ€ΠΈ этом выполняСтся условиС (Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° 3.2).

(3.2).

(3.2).

Π³Π΄Π΅A= {x, y};

B= {x, y};

— ΡΠΌΠΏΠΈΡ€ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.7 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ «Ρ€Π°Π·Π΄Π²ΠΎΠ΅Π½ΠΈΠ΅», ΠΏΡ€ΠΈ этом выполняСтся условиС (Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° 3.2) для рисунка 3.7.

Рисунок 3.6 — ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Π³Π΄Π΅ A — сильноС искривлСниС ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° Π»ΠΈΠ½ΠΈΠΈ папиллярного ΡƒΠ·ΠΎΡ€Π°;

B — вСроятная Ρ‚ΠΎΡ‡ΠΊΠ° продолТСния Π»ΠΈΠ½ΠΈΠΈ папиллярного ΡƒΠ·ΠΎΡ€Π°;

C — искривлСниС ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° Π² Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ продолТСния;

D1, D2 — ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰ΠΈΠ΅ области;

L1, L2 — вСроятныС сосСдниС Π»ΠΈΠ½ΠΈΠΈ папиллярного ΡƒΠ·ΠΎΡ€Π°.

Π Π°Π·Π΄Π²ΠΎΠ΅Π½ΠΈΠ΅.

Рисунок 3.7 — Π Π°Π·Π΄Π²ΠΎΠ΅Π½ΠΈΠ΅ Π³Π΄Π΅ A — сильноС искривлСниС ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° Π»ΠΈΠ½ΠΈΠΈ папиллярного ΡƒΠ·ΠΎΡ€Π°;

B — вСроятная Ρ‚ΠΎΡ‡ΠΊΠ° продолТСния Π»ΠΈΠ½ΠΈΠΈ папиллярного ΡƒΠ·ΠΎΡ€Π°;

C — искривлСниС ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π° Π² Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ продолТСния;

D1, D2 — ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰ΠΈΠ΅ области;

L1, L2 — вСроятныС сосСдниС Π²ΠΏΠ°Π΄ΠΈΠ½Ρ‹ папиллярного ΡƒΠ·ΠΎΡ€Π°.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ особСнности: Ρ€Π°Π·Ρ€Ρ‹Π² ΠΈ ΡΠ»ΠΈΠΏΠ°Π½ΠΈΠ΅ описаны Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 3.2.

Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ основныС дСйствия ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°:

Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ‡Π΅Ρ€Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° Ρ€Π°ΡΡ‚Ρ€Π΅, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ, ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρƒ Π»ΠΈΠ½ΠΈΠΈ папиллярного ΡƒΠ·ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ эта Ρ‚ΠΎΡ‡ΠΊΠ°;

Ссли ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ΠΌΠΈΠ½ΡŽΡ†ΠΈΡ, Ρ‚ΠΎ Π·Π°ΠΏΠΈΡˆΠ΅ΠΌ Π΅Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² ΡΠΏΠΈΡΠΎΠΊ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², с ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ спСцифичСскими Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Π΄Π΅Ρ‚Π°Π»ΡŒ), Π² Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ…. Бписок Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС содСрТит ΠΏΠΎΠΌΠΈΠΌΠΎ Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ — Π»ΠΎΠΆΠ½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ нСкачСствСнном Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Π·Π΅.

R — Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ растр

Map — список. Map = {x, y}i.

R.GetPixelColor (x, y) — ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° пиксСля с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ {x, y} Π½Π° Ρ€Π°ΡΡ‚Ρ€Π΅ R.

R.FloodFill (x, y, color) — Π·Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ с Ρ†Π²Π΅Ρ‚ΠΎΠΌ R. GetPixelColor (x, y) Π² Ρ†Π²Π΅Ρ‚ color.

R.width () — ΡˆΠΈΡ€ΠΈΠ½Π° растра Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ….

R.height () — высота растра Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ….

R.ReadLine (Map[i]) — ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρƒ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ· Ρ‚ΠΎΡ‡ΠΊΠΈ Map[i], ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΌΠΈΠ½ΡŽΡ†ΠΈΠΉ Начало Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· Ρ€Π°ΡΡ‚Ρ€Π° R ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ½ΠΈΠΉ Map.

i,: i[1, |Map|] List := R. ReadLine (Map[i]).

Π’Ρ‹Π²ΠΎΠ΄ List.

ΠšΠΎΠ½Π΅Ρ† ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° «ReadLine».

Алгоритм для поиска ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΉ ΠΈ Ρ€Π°Π·Π΄Π²ΠΎΠ΅Π½ΠΈΠΉ, формирования списка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… особСнностСй.

dot0, dot1 -Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρƒ Π»ΠΈΠ½ΠΈΠΈ.

vec0, vec1 — Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ направлСния.

GetVec (dot0, dot1) — Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ‚ΠΎΡ‡ΠΊΠΈ dot0 Π² dot1.

alphaTest — прСдопрСдСлСнная константа.

NextDotCW (dot0, step) — ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· step Ρ‚ΠΎΡ‡Π΅ΠΊ.

Return — Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ список Условия ΠΎΠ±Ρ€Ρ‹Π²Π° ΠΈ ΡΠ»ΠΈΠΏΠ°Π½ΠΈΡ описаны Π² ΠΏ.ΠΏ. 2.2.4.

Начало.

dot0 := Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

dot1 := NextDotCW (dot0, step);

vec0 := GetVec (dot0, dot1);

dot0 := dot1;

dot1 := NextDotCW (dot0, step);

vec1 := GetVec (dot0, dot1);

Если |vec1 — vec0| < alphaTest, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏ. 11.

type := vec1 < vec0;

alpha := ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ продолТСния Π»ΠΈΠ½ΠΈΠΈ;

{dot0, alpha, type} Return.

Если ΠΎΠ±Ρ…ΠΎΠ΄ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρƒ ΠΏΡ€ΠΈΠ²Π΅Π» ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏ. 13.

vec0 := vec1; ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏ. 5.

ΠšΠΎΠ½Π΅Ρ†.

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