๊ด€๋ฆฌ ๋ฉ”๋‰ด

Wookang makes AI

์ง€์ง„ ์—๋„ˆ์ง€ ๊ทธ๋ž˜ํ”„ ์ž‘์—… ๋ณธ๋ฌธ

Developments/d3๋กœ ์ง€์ง„ ์‹œ๊ฐํ™”ํ•˜๊ธฐ

์ง€์ง„ ์—๋„ˆ์ง€ ๊ทธ๋ž˜ํ”„ ์ž‘์—…

ํ‘ธ๋ฅธ๊นƒ๋ฐœ๐Ÿณ๏ธ 2018. 1. 6. 16:57

โ— ์ง€์ง„ ์—๋„ˆ์ง€ ๊ทธ๋ž˜ํ”„ ์ž‘์—…


> ๋“ค์–ด๊ฐ€๋Š” ๋ง

1. ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ฒจ๋ถ€ํ•˜๋‹ˆ ๋ฐฉ๊ธˆ ์ผ๋˜ ๊ธด ๊ธ€๊นŒ์ง€ ๋ชจ๋‘ ๋‚ ์•„๊ฐ”๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ๋ถ„๋ฆฌํ•˜๊ณ  ๋‹ค์‹œ ๊ธ€ ์“ด๋‹ค.

2. ํ•œ๋ฒˆ ๋” ์ •๋ฆฌํ•˜๋ฉด, ์ง€์ง„์€ ์—๋„ˆ์ง€์ด๋ฏ€๋กœ ํ•ด๋‹น ๋…„์›”์— ๋ฐœ์ƒํ•œ ์ง€์ง„ ์—๋„ˆ์ง€() ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆด ๊ฒฝ์šฐ ์–ด๋–ค ๋ชจ์–‘์ผ์ง€ ๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค. 


> ๊ฒฐ๊ณผ

์ง€์ง„๋ฐœ์ƒํšŸ์ˆ˜ ๋ฐ ์ตœ๋Œ€๊ฐ•๋„
ํ•ด๋‹น์›”์— ๋ฐœ์ƒํ•œ ์ง€์ง„ ์—๋„ˆ์ง€์˜ ์ด๋Ÿ‰ ๋น„๊ต


> ๋ฐ˜์„ฑ

1. ํด๋ž˜์Šค๋ฅผ ๋„์ž…ํ–ˆ๋‹ค. ๋ณต์ˆ˜๊ฐœ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ํ•œํŽ˜์ด์ง€์— ๊ทธ๋ฆฌ๋ฉฐ ํ™•์žฅ์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ค‘์š”ํ•ด์กŒ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

2. ์ฒ˜์Œ์—๋Š” ์ข€ ์งœ์ฆ๋‚ฌ์ง€๋งŒ ๋„์ž…ํ•˜๊ณ  ๋‚˜๋‹ˆ ์†Œ์Šค๊ฐ€ ์›”๋“ฑ์ด ๊ฐ•๋ ฅํ•ด(?)์กŒ๋‹ค. Nodejs๋ฅผ ๊ทธ๋ ‡๊ฒŒ ํŒ ์–ด๋„ ์ด์ œ๊นŒ์ง€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ํด๋ž˜์Šค๋ฅผ ์“ด ์ ์ด ์—†๋Š”๋ฐ ๋œฌ๊ธˆ์—†์ด d3์— ํด๋ž˜์Šค๋ฅผ ์ ์šฉ(ํ•ด์•ผ๋งŒ) ํ•  ์ค„์€ ๋ชฐ๋ž๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฆฌํŒฉํ† ๋ง์„ ํ•˜๋ฉด์„œ d3์— ๋Œ€ํ•œ ์ดํ•ด๋„๊ฐ€ ์›”๋“ฑํžˆ ์ฆ๊ฐ€ํ–ˆ๋‹ค. ์—ญ์‹œ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ์ตœ๊ณ ๋Š” '์žฌ๊ท€'๋‹ค. ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ๋”ฅ๋Ÿฌ๋‹๋„ ๊ณง ์žฌ๊ท€๋‹ค.


3. ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด ์—๋„ˆ์ง€์˜ ๋นˆ๋ถ€ ๊ฒฉ์ฐจ๊ฐ€ ์ปค์กŒ๋‹ค. ์‹ค์ œ ์˜๋ฏธ์žˆ๋Š” ๋‹ฌ์€ ๋ช‡ ๋‹ฌ์ด ๋˜์ง€ ์•Š์•˜๋‹ค.

4. ๋งŽ์€ ๊ฐ€๋กœ ๋ฐ์ดํ„ฐ( 12๋‹ฌ * 39๋…„ = 480๋‹ฌ)๋ฅผ ์ •ํ•ด์ง„ ํ”ฝ์…€์— ํ‘œํ˜„ํ•˜๋‹ค๋ณด๋‹ˆ ๋งˆ์šฐ์Šค๋ฅผ ๋กค์˜ค๋ฒ„์‹œ์ผœ๋„ ์„ ํƒ์ด ๋˜์ง€ ์•Š์•„ ๋ˆ„๋ฝ๋˜๋Š” ์ง€์ง„์ •๋ณด๊ฐ€ ๋ณด์ธ๋‹ค. ๋˜ x์ถ• ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ d3.bisector()๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘๋‹ค๋ณด๋‹ˆ energy ์ •๋ณด๊ฐ€ ์—†๋Š” ๋‹ฌ(undefined)์ด ๋งŽ์ด ๋ณด์ธ๋‹ค(svgWidth๋ฅผ ํฌ๊ฒŒ ํ•˜๋ฉด ์„ ํƒ์ด ๋œ๋‹ค)


์ด์œ ๋Š” ๊ธฐ์ƒ์ฒญ์—์„œ ์ง€์ง„ ์ •๋ณด๋งŒ ๋ฝ‘์•˜์„ ๋•Œ ์•„์˜ˆ ์ง€์ง„์ด ์—†๋Š” ๋‹ฌ๋„ ๋งŽ์•˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๋ฅผ ๋นผ๊ณ  ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆด ๊ฒฝ์šฐ ์ •๋ณด์˜ ์™œ๊ณก์ด ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ง€์ง„์ด ์—†๋Š” ๋‹ฌ๋“ค์„ ์ฒดํฌํ•ด ํ•ด๋‹น ๋‹ฌ์˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ๋Ÿฐ ๋‹ฌ์˜ count์™€ energy์— 0์„ '๋”๋ฏธ'๋กœ ๋„ฃ์–ด๋†จ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ์ง€์ง„์ด ์—†๋˜ ๋‹ฌ์ด undefined๋กœ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด๋‹ค. ์–ด์ฐŒ๋ณด๋ฉด 0๋ณด๋‹ค ๋” ๋งž๋Š” ๋ง์ด๊ธฐ์— ์ˆ˜์ •ํ•˜์ง€ ์•Š์•˜๋‹ค.


3. ์ด์ œ ์ข€ ๋‹ค๋ฅธ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด๊ณ  ์‹ถ๋‹ค. path์™€ circle ๊ทธ๋ž˜ํ”„๋Š” ๊ตฌ์—ญ์งˆ์ด ๋‚œ๋‹ค. ๋‹ค์Œ์—๋Š” ์›ํ˜•์ฑ ํŠธ์™€ ๊ฐ€๋กœ์ฑ ํŠธ๋ฅผ ๊ทธ๋ ค๋ณด๋ ค ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์ง€๋„๋ฅผ ๋งŒ๋“ค๋ฉด ์›ฌ๋งŒํ•œ ๊ทธ๋ž˜ํ”„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค ์ค€๋น„๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

4. ์œผ์•™

Comments