[Math] ์ •๊ทœํ™”
ยท
๐Ÿ“ Game/โœ
์ •๊ทœํ™” ์‚ฌ์ „์  ์˜๋ฏธ์˜ ์ •๊ทœํ™”๋Š” ์–ด๋–ค ๋Œ€์ƒ์„ ์ผ์ •ํ•œ ๊ทœ์น™์ด๋‚˜ ๊ธฐ์ค€์— ๋”ฐ๋ฅด๋Š” ์ •๊ทœ์ ์ธ ์ƒํƒœ๋กœ ๋ฐ”๊พธ๊ฑฐ๋‚˜, ๋น„์ •์ƒ์ ์ธ ๋Œ€์ƒ์„ ์ •์ƒ์ ์œผ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ณผ์ •์„ ๋œปํ•œ๋‹ค. ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์ •๊ทœํ™”๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ •๊ทœํ™”๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฒŒ์ž„ ์ˆ˜ํ•™์—์„œ์˜ ์ •๊ทœํ™”๋Š” ํ•ด๋‹น ๋ฒกํ„ฐ์˜ ๋ฐฉํ–ฅ์€ ์œ ์ง€ํ•œ ์ฑ„ ํฌ๊ธฐ๊ฐ€ 1์ธ ๋‹จ์œ„ ๋ฒกํ„ฐ๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด๋‹ค. ๋‹จ์œ„ ๋ฒกํ„ฐ๋ฅผ ํ™œ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ฒกํ„ฐ๋ฅผ ์—ฐ์‚ฐํ•  ๋•Œ ์ข€ ๋” ๋‹จ์ˆœํ•˜๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒŒ์ž„์—์„œ๋Š” ์บ๋ฆญํ„ฐ์˜ ์ด๋™๊ณผ ๋ฐฉํ–ฅ์— ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ขŒํ‘œ๋ฅผ ์ •๊ทœํ™”ํ•˜์—ฌ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฒกํ„ฐ v๋Š” ํฌ๊ธฐ ||v||์™€ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„ ๋ฒกํ„ฐ u์˜ ๊ณฑ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ •๊ทœํ™”๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์œ„ ๋ฒกํ„ฐ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฒกํ„ฐ๋ฅผ ๊ทธ ํฌ๊ธฐ๋งŒํผ ๋‚˜๋ˆ„๋ฉด ๋œ๋‹ค. ์ด๋ฅผ ์‹ค์ œ 3์ฐจ์›..
[C++] ์ด๋ถ„ ๊ทธ๋ž˜ํ”„
ยท
๐Ÿ“ Computer Science/โœ Algorithm
์ด๋ถ„ ๊ทธ๋ž˜ํ”„ 1. ๊ฐœ๋… ์ด๋ถ„ ๊ทธ๋ž˜ํ”„๋ž€ ์ธ์ ‘ํ•œ ์ •์ ๋ผ๋ฆฌ ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ‰์œผ๋กœ ์น ํ•˜์—ฌ ๋ชจ๋“  ์ •์ ์„ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ์„œ๋กœ ๋‹ค๋ฅธ ๊ทธ๋ฃน์˜ ์ •์ ์„ ๊ฐ„์„ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งํ•œ๋‹ค. 2. ์ด๋ถ„ ๋งค์นญ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ถ„ ๋งค์นญ์ด๋ž€ ์ด๋ถ„ ๊ทธ๋ž˜ํ”„์—์„œ ํ•œ์ชฝ ๊ทธ๋ฃน(A)๊ณผ ๋‹ค๋ฅธ ํ•œ์ชฝ ๊ทธ๋ฃน(1)์ด ๋งค์นญ์„ ํ–ˆ์„ ๋•Œ ์ตœ๋Œ€ ์œ ๋Ÿ‰์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋งํ•œ๋‹ค. 3. ๋ฌธ์ œ https://www.acmicpc.net/problem/1707 1707๋ฒˆ: ์ด๋ถ„ ๊ทธ๋ž˜ํ”„ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ทธ๋ž˜ํ”„์˜ ์ •์ ์˜ ๊ฐœ์ˆ˜ V์™€ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ E๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— www.acmicpc.net #include #include #include #include us..
[C++] RTTI(Run Time Type Information)
ยท
๐Ÿ“ Language/โœ C & C++
RTTI(Run Time Type Information) C++์—์„œ๋Š” ๋Ÿฐํƒ€์ž„์— ๊ธฐ์ดˆ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด ํฌ์ธํ„ฐ๊ฐ€ ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š”์ง€ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” RTTI ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ์—์„  ํด๋ž˜์Šค ๊ฐ„ ์ƒ์†์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ณ , ๋‹คํ˜•์„ฑ์„ ๊ฐ€์ง€๊ฒŒ ๋˜์–ด ๊ธฐ์ดˆ ํด๋ž˜์Šค๋Š” ์ž์‹ ์˜ ๋ฉค๋ฒ„๋ฅผ ์œ„์ž„ํ•œ ํŒŒ์ƒ ํด๋ž˜์Šค๋ฅผ ์ž์‹ ์˜ ๊ฐ์ฒด ํฌ์ธํ„ฐ๋กœ ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. Base *pBase = new Derived(); ์ปดํŒŒ์ผ ๋‹น์‹œ์—๋Š” pBase๊ฐ€ ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. ๊ทธ์ € ๊ธฐ์ดˆ ํด๋ž˜์Šค์™€ ํŒŒ์ƒ ํด๋ž˜์Šค ์ค‘ ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š”์ง€ ์ง์ž‘๋งŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด RTTI์ด๊ณ  ํ˜„์žฌ ๊ฐ์ฒด ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด ํƒ€์ž… ์ •๋ณด๋ฅผ type_info๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ vftable์— ์ €์žฅํ•œ๋‹ค. 1. dyna..
[Unreal][C++] ํƒ€์ด๋จธ
ยท
๐Ÿ“ Game/โœ Unreal
1. ํƒ€์ด๋จธํƒ€์ด๋จธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ์‹œ๊ฐ„๋งˆ๋‹ค ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๋™์ž‘์ด ์‹คํ–‰๋˜๋„๋ก ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ Tick ํ•จ์ˆ˜์—์„œ DeltaTime ๊ฐ’์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€์ •ํ•œ ๋™์ž‘์ด ์ง€์†์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ , ํŠน์ •ํ•œ ์‹œ๊ฐ„์—๋งŒ ๋ช‡ ๋ฒˆ ์‹คํ–‰๋˜๊ฑฐ๋‚˜, ํ…€์ด 1์ดˆ๋ฅผ ๋„˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด Tick ํ•จ์ˆ˜๋ณด๋‹ค ํƒ€์ด๋จธ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.๊ธ€๋กœ๋ฒŒ TimerManager์—์„œ ๊ด€๋ฆฌํ•˜๋ฉฐ ๊ฒŒ์ž„ ์ธ์Šคํ„ด์Šค ์˜ค๋ธŒ์ ํŠธ์™€ ๊ฐ ์›”๋“œ์— ์กด์žฌํ•œ๋‹ค.TimerManager๋ฅผ ํ†ตํ•ด ํƒ€์ด๋จธ๋ฅผ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ข…๋ฃŒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. 2. ์‚ฌ์šฉ1) ์‚ฌ์šฉSetTimer ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋”œ๋ ˆ์ด ํ›„ ํ•จ์ˆ˜๋‚˜ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ํƒ€์ด๋จธ๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๊ทธ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๋ฌดํ•œ ๋ฐ˜๋ณตํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.GetWorldTimerManager().SetTimer( FTimer..
๋จธํ„ฐ๋ฆฌ์–ผ(Material)
ยท
๐Ÿ“ Game/โœ Computer Graphics
1. Material ๋จธํ„ฐ๋ฆฌ์–ผ์ด๋ž€ ์˜ค๋ธŒ์ ํŠธ์™€ ๋งต์— ์›ํ•˜๋Š” ๋ชจ์–‘์ƒˆ๋ฅผ ๋‚ด๋Š” ๋ฐ ์žˆ์–ด ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ…์Šค์ณ์— ๋Œ€ํ•œ ํ‘œ๋ฉด ๋ Œ๋”๋ง ๋ฐฉ๋ฒ•์˜ ์ •์˜์ด๋‹ค. 2. Material Parameter ๊ธฐ๋ณธ ํ…์Šค์ณ ์ด๋ฏธ์ง€(Albedo, Base Color)๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋‹จ์ˆœํ•œ ์ด๋ฏธ์ง€๋งŒ์„ ๋…ธ์ถœํ•˜์ง€๋งŒ, ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ฑฐ์˜ ๋ชจ๋“  ํ˜„์‹ค ์„ธ๊ณ„ ํ‘œ๋ฉด์˜ ์™ธ์–‘์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 1) Metallic ํ‘œ๋ฉด์˜ ๋ฐ˜์‚ฌ๋„ ๋ฐ ๊ด‘์› ๋ฐ˜์‘์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋”ฐ๋ผ ํ‘œ๋ฉด์ด ์–ผ๋งˆ๋‚˜ ๊ธˆ์† ๊ฐ™์€์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. 2) Normal ๊ด‘์›์„ ๋ฐ›๋Š” ๋ฒ”ํ”„, ํ™ˆ ๋ฐ ์Šคํฌ๋ž˜์น˜ ๋“ฑ์˜ ํ‘œ๋ฉด ๋””ํ…Œ์ผ์„ ๋ชจ๋ธ์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‹ค์ œ ๋ชจ๋ธ๋ง์œผ๋กœ ํ™ˆ๊ณผ ๋‚˜์‚ฌ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋…ธ๋ฉ€ ๋งต์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ์‹ค์ œ ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ๋กœ ๋ชจ..
[Git] Git README, .gitignore ํŒŒ์ผ
ยท
๐Ÿ“ Computer Science/โœ
Git Repositories๋ฅผ ๋งŒ๋“ค ๋•Œ, README ํŒŒ์ผ๊ณผ .gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. README ํŒŒ์ผ README ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธ์™€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ฑ…์˜ ํ‘œ์ง€์™€ ๊ฐ™์€ ๋ฌธ์„œ์ด๋‹ค. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ, ์‚ฌ์šฉํ•œ ๊ธฐ์ˆ , ํ™œ์šฉ ๋ฐฉ๋ฒ• ๋“ฑ์„ ๊ธฐ๋กํ•œ๋‹ค. ํŒŒ์ผ์˜ ํ™•์žฅ์ž๋Š” md๋กœ ๋งˆํฌ๋‹ค์šด(Markdown)์˜ ์•ฝ์ž์ด๋‹ค. https://coding-factory.tistory.com/620 [Git] GitHub README ์ž‘์„ฑ๋ฒ• (๋งˆํฌ๋‹ค์šด, ์ด๋ฏธ์ง€, Gif, ์ฝ”๋“œ ๋ธ”๋ก ์‚ฌ์šฉ๋ฒ•) ๋ฆฌ๋“œ๋ฏธ(README)๋ž€? README๋Š” ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ๊ธ€์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋””๋ ‰ํ† ๋ฆฌ๋‚˜ ์••์ถ• ํŒŒ์ผ์— ํฌํ•จ๋œ ๊ธฐํƒ€ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด์™€ coding-factory..