๋ณํ(1)
transform
transform์ ์์ฑ์ ๊ฐ์ผ๋ก ์ฌ๋ฌ๊ฐ์ง ๋ณํ ํจ์๋ฅผ ๋์์ฐ๊ธฐ๋ก ๊ตฌ๋ถํ์ฌ ๋ค์ํ๊ฒ ํ์ํ ์ ์๋ค.
transform์ ์์ฑ ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ณํ ํจ์์ ์ข ๋ฅ๋ก๋ ์๊ทผ๋ฒ, ์ด๋, ํฌ๊ธฐ, ํ์ , ๊ธฐ์ธ์์ ํต์ ํ๋ ๋ณํ ํจ์๋ค์ด ์๋ค.
transform์ ์ฌ์ฉํ ์ ์๋ ๋ณํ ํจ์๋ ํฌ๊ฒ 2์ฐจ์ ๋ณํํจ์, 3์ฐจ์ ๋ณํํจ์ ์ด๋ ๊ฒ 2๊ฐ์ง ์ข ๋ฅ๋ก ๋๋๋ค.
translate๋ ์ด๋์ ๋ด๋นํ๋ ๋ณํ ํจ์๋ก ์ธ์๋ก x์ถ, y์ถ์ผ๋ก ์ผ๋งํผ ์ด๋์ํฌ ๊ฒ์ธ์ง ๋ช ์ํด์ฃผ์ด์ผ ํ๋ฉฐ ๋จ์๋ px(ํฝ์ )์ด๋ค.
scale ํจ์๋ ์์์ ํฌ๊ธฐ๋ฅผ ๋๋ ค์ฃผ๋ ๋ณํ ํจ์๋ก ์ธ์๋ก ๋ช ๋ฐฐ๋ฅผ ๋๋ฆด ๊ฒ์ธ์ง ๋ช ์ํด์ฃผ๋ฉฐ ๋จ์๋ ์๋ค.
๋ณดํต ํ ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ํฌ๊ธฐ๋ฅผ ํค์ฐ๋ ๊ฒฝ์ฐ๋ ์ ์๊ธฐ ๋๋ฌธ์ scaleX, scaleY ํจ์๋ ์ ์ฌ์ฉํ์ง ์๋๋ค.
rotate๋ ํ์ ์ ๋ด๋นํ๋ ํจ์๋ก ๋ช ๋๋งํผ ํ์ ์ํฌ ๊ฒ์ธ์ง๋ฅผ ์ธ์๋ก ๋ช ์ํด์ฃผ๋ฉฐ ๋จ์๋ ๊ฐ๋๋ฅผ ๋ํ๋ด๋ degree๋ฅผ ์ค์ฌ deg๋ฅผ ์ฌ์ฉํ๋ค.
skewํจ์๋ ๊ธฐ์ธ์์ ๋ด๋นํ๋ ํจ์๋ก ๋ช ๋๋งํผ ๊ธฐ์ธ์ผ ๊ฒ์ธ์ง๋ฅผ ์ธ์๋ก ๋ช ์ํด์ฃผ๋ฉฐ ๋จ์๋ ์ญ์ deg๋ฅผ ์ฌ์ฉํ๋ค.
matrix ํจ์๋ฅผ ์ด์ฉํด์ ๋ชจ๋ ๋ณํ ํจ๊ณผ๋ฅผ ๋ํ๋ผ ์ ์์ง๋ง ์ธ์๊ฐ ๋ฌด๋ ค 6๊ฐ๋ก ์ฌ์ฉ์๋ค์ด ์ฌ์ฉํ๊ธฐ ๋งค์ฐ ํ๋ค๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๊ธฐ ์ฝ๋๋ก ์์ ์ค๋ช ํ ๊ฐ๋ณ ํจ์๋ค์ ๋ง๋ค์ด ๋์๋ค. ๊ทธ๋ฌ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ค์ ๋ณํ ํจ์๋ฅผ ์ ์ฉํ ๋์๋ matrix ํจ์๋ก ๋ณํํ์ฌ ์ฌ์ฉํ๋ค.
=> ์ฌ์ฉ์๊ฐ matrix ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์๋ค๊ณ ๋ด๋ ๋ฌด๋ฐฉํ๋ค.
rorateX์ rotateY ํจ์๋ x์ถ๊ณผ y์ถ์ ๋ํ ํจ์์ด๊ธฐ ๋๋ฌธ์ 2์ฐจ์ ํจ์๋ก ์๊ฐํ ์ ์์ง๋ง 3์ฐจ์ ๋ณํ ํจ์์ด๋ค.
rotateX๋ x์ถ์ ์ถ์ผ๋ก ํ์ฌ 3์ฐจ์์ผ๋ก ํ์ ์ํค๋ฉฐ, rotateY๋ y์ถ์ ์ถ์ผ๋ก ํ์ฌ 3์ฐจ์์ผ๋ก ํ์ ์ํจ๋ค.
perspective๋ ์๊ทผ ๊ฑฐ๋ฆฌ๋ฅผ ๋ช ์ํ๋ ์๊ทผ๋ฒ ํจ์์ด๋ค.
rotate ํจ์
rotate ํจ์๋ 2์ฐจ์ ๋ณํ ํจ์์ด๊ธฐ ๋๋ฌธ์ ์์๋ฅผ 2์ฐจ์ ๋ฐฉํฅ์ผ๋ก ์ธ์๋ก ๋ช ์ํ ๊ฐ๋๋งํผ ๊ธฐ์ธ์ด๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
rotateX์ rorateY ํจ์๋ 3์ฐจ์ ๋ณํ ํจ์์ด์ง๋ง ๋ฑํ 3์ฐจ์์ผ๋ก ํ์ ํ ๊ฒ ๊ฐ๋ค๋ ๋๋์ ๋๋ ์ ์๋๋ฐ, ์ด๋ ์๊ทผ๋ฒ์ด ์ ์ฉ๋์ง ์์๊ธฐ ๋๋ฌธ์ 2์ฐจ์์ผ๋ก ํ์ ํ ๊ฒ ์ฒ๋ผ ๋ณด์ธ๋ค.
์ด์ฒ๋ผ ์๊ทผ๋ฒ์ ์ ์ฉํ ํ ํ์ธํด ๋ณด๋ฉด rotateX์ rotateY ํจ์๋ ๋ช ๋ฐฑํ 3์ฐจ์ ๋ณํ ํจ์์์ ํ์ธํ ์ ์๋ค.
์๊ทผ๋ฒ ํจ์์ ์ธ์๋ก ์
๋ ฅํ๋ ๊ฐ์ ์๊ทผ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ธ๋ค.
ํน์ ํ ๋ฌผ์ฒด๋ฅผ ์ผ๋งํผ ๊ฐ๊น์ด์ ๋ณด๋๋๋ฅผ ๋ํ๋ด๊ณ ์ด ๊ฐ์ด ์์์๋ก ๊ฐ๊น์ด์์ ๋ณธ๋ค๋ ์๋ฏธ์ด๋ฏ๋ก ์๊ณก์ด ๋ ์ฌํ๊ฒ ๋ฐ์ํ๋ค.
์๊ทผ๋ฒ ํจ์๋ transfrom ์์ฑ ๊ฐ ์ค ์ ์ผ ์์ ์์ฑํด์ผ ํ๋ค๋ ๊ฒ์ ์ฃผ์ํด์ผ ํ๋ค.
3๋ฒ์งธ ๊ทธ๋ฆผ์ฒ๋ผ x, y ๋ฐฉํฅ์ผ๋ก ๋์์ ํ์ ํ์ฌ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๊ทนํ ๋๋ฌผ์ง๋ง ๊ฐ๋ฅ์ ํ๋ค๋ ๊ฑฐ ์์๋์.
skew ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์์๋ฅผ x์ถ ๋๋ y์ถ ๋ฐฉํฅ์ผ๋ก ๊ธฐ์ธ์ผ ์ ์๋ค.
์ ์ฌ์ฉ๋์ง ์์ ๊ฒ ๊ฐ์ง๋ง ์์ธ์ ์๊ฐ์ ์ฌ์ฉ๋ ์ ์์ผ๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ด ์๋ค๋ ๊ฒ ๊ธฐ์ตํด๋์!
์ค์ ์ฝ๋ ์ ๋ ฅ
์ฌ์ง์์์ ๊ฐ์ด ์๊ทผ๋ฒ์ ์ ์ฉํ ํ x์ถ ๋ฐฉํฅ์ผ๋ก 45๋ ๋งํผ ํ์ ํ ํ x์ถ ๋ฐฉํฅ์ผ๋ก 100px ๋งํผ ์ด๋์์ผ ๋ณด๋ฉด ํ๋ฉด์ ๋ํ๋ ์์๋ ์ด๋๊ฐ ๋ถ๊ท ํํ ๊ฒ์ ๋๋ ์ ์๋ค.
๋ง์น ์์์ ์์๋ฅผ ๋ณด๊ณ ์๋ ๊ฒ ๊ฐ์ ๋๋์ ์ค๋ค.
์๊ทผ ๊ฑฐ๋ฆฌ๋ ์์์ ์๋ ์์น์์ ์ ๊ฐ์ด๋ฐ๋ฅผ ๋ฐ๋ผ๋ณด๋ ๊ฒ์ผ๋ก ์ธก์ ๋๊ธฐ ๋๋ฌธ์ ์์์ ์์น๋ฅผ ์ฎ๊ธฐ๋ฉด ์์์ ๋ณด๋ ๊ฒ ์ฒ๋ผ ํ๋ฉด์ ๋ฌ์ฌ๊ฐ ๋๋ค.