[๋ฝ๋ฝ๋ฝ ๊ฐ๋ฐ์ผ์ง]
2. ๋ชฌ์คํฐ์ ๊ธฐ์ด ์ํธ์์ฉ
5. ๋ฒํผ๊ณผ ๋ฌธ ์ํธ์์ฉ
์บ์ฃผ์ผ ํ๋ซํฌ๋จธ ๊ฒ์์ ๊ธฐ๋ณธ ์ค๋ธ์ ํธ์ธ ๋ฒํผ ๋๋ฅด๋ฉด ์ด๋ฆฌ๋ ๋ฌธ์ ๋ง๋ค์๋ค.
๊ฐ ๋ฒํผ๊ณผ ๋ฌธ์ ์์์ผ๋ก ๊ตฌ๋ถ๋์ด, ๋์ผํ ์์๋ผ๋ฆฌ๋ง ์ํธ์์ฉํ๋ค.
๊ฒ์ ์์ ๋ฃธ์์ ์ ์ญ ๋ณ์๋ก ์์ ๊ตฌ๋ถ์ฉ ๋ฐฐ์ด์ ํ๋ ์ ์ธํด์ค๋ค.
array_create(x, y)๋ y ๊ฐ์ ๊ฐ์ง x ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์ ์ธํ๋ ๊ธฐ๋ณธ ํจ์๋ค.
์ด์ ๋ฌธ๊ณผ ๋ฒํผ์ฉ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํด์ฃผ์
์ ์ฝ๋๋ ์์ ์ ํธ ์ํธ์์ฉํ๋ ์ค๋ธ์ ํธ๋ค์ create ํจ์๋ก
๊ฐ ์ ํธ๊ฐ๋ง๋ค ๊ณ ์ ํ ์์์ ์ง์ ํด์ฃผ๊ณ , ํ์ํ ๋ณ์๋ค์ ์ ์ธํด์ค๋ค.
sig -> ์ ํธ๊ฐ [๋ฃธ์ ๋ฐฐ์น๋ ๋ฒํผ, ๋ฌธ ๋ง๋ค ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง๊ธฐ ์ฝ๋๋ก Variable Definitions๋ก ์ ์ธ]
sig_color -> ์ ํธ๊ฐ์ ์ง์ ๋ ์์
sig_index -> ์ ์ญ๋ณ์ global.sig[x]์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด, ์ด๋ฒคํธ๋ฅผ ํ ๋ฒ๋ง ๋ฐ๋ํ๊ธฐ ์ํ ์ฑํฌ์ฉ ๋ณ์
์ฌ๊ธฐ์ var [๋ณ์๋ช ]์ ํด๋น ๋ณ์๊ฐ ์ ์ธ๋ ๊ตฌ๋ฌธ ๋ด๋ถ[ํจ์, if๋ฌธ for๋ฌธ ๋ฑ๋ฑ]์์๋ง ์ฌ์ฉํ ์ ์๋ ์ผํ์ฉ ๋ณ์์ผ.
๊ฒ์๋ฉ์ด์ปค์์ ์ผ๋ฐ์ ์ธ ์ง์ญ๋ณ์๋ ํจ์ ๋จ์๊ฐ ์๋๋ผ ์ค๋ธ์ ํธ ๋จ์๋ก ์ ์ฅ๋ผ์ [๋ค๋ฅธ ํจ์์์ ์ ์ธํ ์ง์ญ๋ณ์๋ ์ค๋ธ์ ํธ๋ง ๊ฐ์ผ๋ฉด ์ ๊ทผ ๊ฐ๋ฅํจ]
ํจ์๊ฐ์ ๋ณ์๋ช ์ถฉ๋์ ๋ฐฉ์งํ๊ธฐ ์ํด, ํด๋น ํจ์์์๋ง ์ด์ฉํ ๋ณ์๋ var [๋ณ์๋ช ]์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๋ค์์ ์ค๋ธ์ ํธ๋ค์ Draw ์ด๋ฒคํธ ์ฝ๋
์์์ ์ ์ธํ sig_color๋ก draw ์์์ ์ง์ ํ ํ, ์ฌ๊ฐํ ๊ทธ๋ฆฌ๊ธฐ๋ก ์ ํธ ์์ ํ์ ๋ถ๋ถ์ ๊ทธ๋ ค์ค๋ค.
๋ฌธ๊ณผ ๋ฒํผ ์คํ๋ผ์ดํธ๋ ์์ ํ์ ๋ถ๋ถ์ ํฌ๋ช ํ๊ฒ ์ฒ๋ฆฌํ๊ณ , ์ Draw ์ด๋ฒคํธ๋ก ์์์ด ์ถ๋ ฅ๋๋๋ก ํ๋ค.
draw_self๋ ์ค๋ธ์ ํธ ๋ณธ์ธ์ ์คํ๋ผ์ดํธ๋ฅผ ๊ทธ๋ฆฌ๋ ํจ์๋ก, Draw ์ด๋ฒคํธ๋ฅผ ์์ฑํ ํ, ์ค๋ธ์ ํธ ์์ ์ ์คํ๋ผ์ดํธ๋ฅผ ์ถ๋ ฅํ๋ ค๋ฉด ๋ฃ์ด์ค์ผ ํ๋ค.
Draw ์ด๋ฒคํธ๊ฐ ๋น์ด์์ ๋ ๋ณธ์ธ์ ์คํ๋ผ์ดํธ๋ฅผ ์ ์์ ์ผ๋ก ์ถ๋ ฅํ์ง๋ง, Draw ์ด๋ฒคํธ์ ๋ฌด์ธ๊ฐ๋ฅผ ์ ์ด๋์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณธ์ธ ์คํ๋ผ์ดํธ ์ถ๋ ฅ์ด ์๋ต๋๊ธฐ ๋๋ฌธ
๋ฒํผ์ ์ถฉ๋ ์ด๋ฒคํธ, ์ถฉ๋ ๋์์ ์ง๋ ์ผ์ง์์ ๋ง๋ค์๋ ๋ฌผ๋ฆฌ ์ฒ๋ฆฌ์ฉ ๋ถ๋ชจ ์ค๋ธ์ ํธ
์ถฉ๋ ์ด๋ฒคํธ์์ other ํค์๋๋ ์ถฉ๋ํ ์๋ ์ค๋ธ์ ํธ์ id๋ฅผ ๊ฐ๋ฅดํจ๋ค.
์ ์ฝ๋์ ๊ฒฝ์ฐ, ๋ฌผ๋ฆฌ ๋ถ๋ชจ์ ์ถฉ๋ํ ์ํฉ์์
์ถฉ๋ํ ์๋์ x ์ค์ฌ์ขํ๊ฐ ๋ฒํผ์ ์ข์ฐ ์ถฉ๋ ๋ ๋ด๋ถ์ ์์ ๊ฒฝ์ฐ
[bbox_left, bbox_right, bbox_top, bbox_bottom ๋ฑ์ ํค์๋๋ ์ถฉ๋ ํ์ ๋งจ ๋ ๋ถ๋ถ์ ์๋ฏธ, ์ด ๊ฒฝ์ฐ๋ ๋ฒํผ์ "ํ์คํ" ๋ฐ์ ๊ฒฝ์ฐ๋ง ๋ฐ๋ํ๋๋ก ๋ฃ์์]
sig_index ๊ฐ์ true๋ก ๋ง๋ค๊ณ , ์๋ ์ค๋ธ์ ํธ์ y๊ฐ์ ์ ์ ํ๊ฒ ๊ณ ์ ์ํค๋ ์ฝ๋๋ค
๋ค์์ ๋ฒํผ์ Begin Step ์ด๋ฒคํธ
์ง๋๋ฒ์ ์ด Step ์ด๋ฒคํธ๊ฐ ํ๋ ์ ๋น ํ ๋ฒ ๋ฐ๋์ด์๋๋ฐ,
Begin Step๋ ๋์ผํ์ง๋ง, ์ผ๋ฐ Step ์ด๋ฒคํธ๋ณด๋ค ๋ฌด์กฐ๊ฑด ๋จผ์ ๋ฐ๋๋๋ ์ด๋ฒคํธ์ผ
๋ฌด์กฐ๊ฑด ๋จผ์ ์ฒ๋ฆฌํด์ผ ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์ข์ ๊ณณ์ด์ง
sig_index๊ฐ true์ผ ๊ฒฝ์ฐ [๋ฒํผ์ด ๋๋ฆฐ ๊ฒฝ์ฐ] global.sig ๋ฐฐ์ด์ sig๋ฒ ๊ฐ์ true๋ก ๋ณ๊ฒฝ
image_index = 1์, ๋ฒํผ์ ์ ๋๋ฉ์ด์ ์์๋ฅผ 1๋ฒ [0๋ฒ๋ถํฐ ์์์ด๋ 2๋ฒ์งธ]๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ผ๋ก,
0๋ฒ์ด ์ผ๋ฐ ๋ฒํผ, 1๋ฒ์ด ๋๋ฆฐ ๋ฒํผ์ด ์ง์ ๋์ด์์ด
์ด์ ๋ฌธ์ ์ผ๋ฐ Step ์ด๋ฒคํธ์์ ์ง์ ๋ ์ ํธ๊ฐ์ด true, false์ผ ๋ ๋ฐ๋ํ ์ฝ๋๋ฅผ ์์ฑ
alarm[n] = x ๋ ์ด๋ฒคํธ๋ฅผ ํธ์ถํ๋ ์ฝ๋๋ก, n๋ฒ์งธ ์๋ ์ด๋ฒคํธ๋ฅผ xํ๋ ์ ์ดํ ๋ฐ๋
alarm์ ์ด ๋ด์ฉ์ ๋ณ๊ฑฐ ์์ด, ๋ฌธ์ ์ ๋๋ฉ์ด์ ์ ๋๊ฒจ์ ์ด๋ฆฐ ๋ฌธ ์คํ๋ผ์ดํธ๋ก ๋ณ๊ฒฝํ๋ ์ฝ๋๋ค.
๊ฒ์ ๊ด๋ฆฌ์ฉ ์ค๋ธ์ ํธ์ End Step ์ด๋ฒคํธ์ ์ ํธ ์ด๊ธฐํ ์ฝ๋ ์์ฑ
End Step์ Begin Step๊ณผ ๋น์ทํ๊ฒ, ์ผ๋ฐ Step ์ด๋ฒคํธ๋ณด๋ค ๋ฌด์กฐ๊ฑด ์ดํ์ ๋ฐ๋ํ๋ ์ด๋ฒคํธ๋ค.
๋ฌธ๊ณผ ๋ฒํผ์ sig ๊ฐ๋ง๋ค ์ง์ ๋ ์์์ด ์ ์ ์ถ๋ ฅ๋๊ณ , ๋ฒํผ์ด ํ๋ ์ด์ด๋ ๋ฌผ๋ก ๋ชจ๋ ๋ฌผ๋ฆฌ ์ค๋ธ์ ํธ์ ์ํธ์์ฉ ๊ฐ๋ฅํ๋ค. [์์์ ์ ๋์ค์ง๋ง ๋ชน๋ ๋๋ฅผ ์ ์์]
๋ฌธ๊ณผ ๋ฒํผ์ ๋์ผํ sig ๊ฐ ์ฌ์ด์์๋ง ์ํธ์์ฉํ๋ค. [๋ถ์ ๋ฌธ์ด ๋ ธ๋ ๋ฒํผ์ผ๋ก ์ด๋ฆฌ์ง ์์]
๋ฌธ๊ณผ ๋ฒํผ์ ์ข ์ ๊ด๊ณ๋ก ๋ฃ์ ๊ฒ ์๋๋ผ ์์ ์ ํธ๋ก ๋ฌถ์๊ธฐ ๋๋ฌธ์, ๋ฒํผ ํ๋๋ก ๋ฌธ์ ์ฌ๋ฟ ์ด ์๋ ์๊ณ ,
๋ฌธ ์ด์ธ์๋ ์์ ์ ํธ๋ก ์ํธ์์ฉํ๋ ์์๋ค์ ๋ ๋ง๋ค์ด์ ๋ฃ์ ๊ณํ์ด๋ค.
๊ฒ์๋ฉ์ด์ปค๊ฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ฝ๋ ์คํ์ด๋ผ, ์ค์ ๋ก ์์ฑํ๋ฉด ๋ณ ๊ฑฐ ์๋๋ฐ
์ผ์ง์ ์ฝ๋๋ค์ ๋ญ, ์ด๋ฒคํธ๋ง๋ค ๋๋ ์ ์์ฑํด์ผ ํด์ ๊ฐ๋ ์ฑ์ด ์ ๋ฉ๋กฑ์ด๋ค.
๋๊ธ 5