## ๐ ๊ฐ์
**CubeEye**๋ 3x3 ๋ฃจ๋น
ํ๋ธ๋ฅผ ํ๋๋ก ์ค๊ณ๋ ๊ณ ๊ธ ์๋๋ก์ด๋ ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค. ์ปดํจํฐ ๋น์ ๊ธฐ์ ์ ํ์ฉํ์ฌ ์ค์ ํ๋ธ๋ฅผ ์ค์บํ๊ณ , ์ต์ ์ ์์ง์์ ๊ฐ๊น์ด 3D ์ ๋๋ฉ์ด์
๊ฐ์ด๋๋ฅผ ํตํด ํ๋ธ๋ฅผ ํ ์ ์๋๋ก ๋์์ค๋๋ค.
## โจ ์ฃผ์ ๊ธฐ๋ฅ
### ๐ท ์ค๋งํธ ์ค์บ๋ ์์คํ
* **์ค์๊ฐ ์์ ๊ฐ์ง:** ๋ง์ถคํ `ColorAnalyzer`๋ฅผ ํตํด ์นด๋ฉ๋ผ๋ก ํ๋ธ ๋ฉด์ ์์์ ์๋์ผ๋ก ์๋ณํฉ๋๋ค.
* **๊ฐ์ด๋ ์ค์บ:** ์ง๊ด์ ์ธ UI ์ค๋ฒ๋ ์ด๋ฅผ ํตํด 6๊ฐ ๋ฉด ๋ชจ๋๋ฅผ ์ ํํ๊ฒ ์ค์บํ ์ ์๋๋ก ์๋ดํฉ๋๋ค.
* **๊ฒ์ฆ ๋ก์ง:** ๋ด์ฅ๋ `CubeValidator`๋ฅผ ํตํด ์ค์บ๋ ์ํ๊ฐ ์ค์ ๋ก ํ ์ ์๋ ์ํ์ธ์ง ํ์ธํ ํ ๋ค์ ๋จ๊ณ๋ก ์งํํฉ๋๋ค.
* **์๋ ์์ :** ์กฐ๋ช
์กฐ๊ฑด์ผ๋ก ์ธํด ์๋ ๊ฐ์ง๊ฐ ์ด๋ ค์ธ ๊ฒฝ์ฐ, `ColorPickerDialog`๋ฅผ ์ฌ์ฉํ์ฌ ์์์ ์๋์ผ๋ก ์กฐ์ ํ ์ ์์ต๋๋ค.
### ๐งฉ ์ง๋ฅํ ํด๊ฒฐ์ฌ
* **์ฝ์์ ๋ฐ ์๊ณ ๋ฆฌ์ฆ:** ์ ๋ช
ํ 2๋จ๊ณ ์๊ณ ๋ฆฌ์ฆ(min2phase ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ)์ ํตํฉํ์ฌ ์ต์ ์ ๊ฐ๊น์ด ํด๋ฅผ ์ฐพ์์ฃผ๋ฉฐ, ๋๊ฐ 20๋ฒ ๋ฏธ๋ง์ ์์ง์์ผ๋ก ํด๊ฒฐํฉ๋๋ค.
* **๋น ๋ฅธ ๋ก์ปฌ ์ฐ์ฐ:** ๋คํธ์ํฌ ์ฐ๊ฒฐ ์์ด๋ ๊ธฐ๊ธฐ์์ ์ง์ ๋ช ์ด ๋ง์ ๋ณต์กํ ์คํฌ๋จ๋ธ์ ํด๊ฒฐํฉ๋๋ค.
### ๐ฅ ์ธํฐ๋ํฐ๋ธ 3D ๊ฐ์ด๋
* **3D ์๊ฐํ:** ์ค์ ํ๋ธ์ ์ํ๋ฅผ ์ ํํ๊ฒ ๋ชจ๋ฐฉํ๋ ์์ ํ ์ธํฐ๋ํฐ๋ธ 3D ๋ ๋๋ง(`Cube3DView`)์ ์ ๊ณตํฉ๋๋ค.
* **๋จ๊ณ๋ณ ์ ๋๋ฉ์ด์
:** ์ฌ์ฉ์๋ ์ํ๋ ์๋๋ก ํด๊ฒฐ ๊ณผ์ ์ ์ฌ์, ์ผ์ ์ ์ง ๋ฐ ์คํฌ๋กคํ์ฌ ๋ณผ ์ ์์ต๋๋ค.
## ๐ ๊ธฐ์ ์ ํน์ง
* **์ต์ Android ์คํ:** Kotlin๊ณผ Jetpack Compose(Material 3)๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ๊ฐ๋ฐ๋์์ต๋๋ค.
* **๊ฒฌ๊ณ ํ ์ํคํ
์ฒ:** ํด๋ฆฐ ์ํคํ
์ฒ ์์น์ ์ค์ํ๋ฉฐ, MVVM ํจํด, Hilt๋ฅผ ์ฌ์ฉํ ์์กด์ฑ ์ฃผ์
, ์ฝ๋ฃจํด์ ํ์ฉํ ๋น๋๊ธฐ ์์
์ ์ํํฉ๋๋ค.
* **CameraX:** ์ค์๊ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฐ ์ด๋ฏธ์ง ๋ถ์์ ์ํ ์์ ์ ์ด๊ณ ํจ์จ์ ์ธ ์นด๋ฉ๋ผ ๊ธฐ๋ฐ์ ๊ตฌํํฉ๋๋ค.
* **SceneView:** ๊ณ ์ฑ๋ฅ 3D ๋ ๋๋ง์ ์ํด SceneView ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
## ๐ ์๋ ค์ง ๋ฌธ์ ์ / TODO
* ๊ทน๋จ์ ์ธ ์กฐ๋ช
์กฐ๊ฑด์ ๋ ์ ์ฒ๋ฆฌํ๋๋ก ์์ ๊ฐ์ง ์๊ณ๊ฐ์ ์ต์ ํํฉ๋๋ค.
* "min2phase" ๋ผ์ด๋ธ๋ฌ๋ฆฌ(ํ์ฌ ์๋ ์์ค ํ์ผ๋ก ํฌํจ๋จ)์ ํตํฉ์ ์๋ํํฉ๋๋ค.
CubeEye๋ ์๋๋ก์ด๋์ฉ ๊ณ ๊ธ ๋ฃจ๋น
ํ๋ธ ํ์ด ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค.
์
๋ฐ์ดํธ ๋ ์ง
2026. 1. 6.