๊ฐœ๋ฐœ/HTML, CSS, JS

๋ณ€ํ™˜(1)

Jaeguk 2023. 1. 9. 16:36

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 ๋งŒํผ ์ด๋™์‹œ์ผœ ๋ณด๋ฉด ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚œ ์š”์†Œ๋Š” ์–ด๋”˜๊ฐ€ ๋ถˆ๊ท ํ˜•ํ•œ ๊ฒƒ์„ ๋А๋‚„ ์ˆ˜ ์žˆ๋‹ค.

๋งˆ์น˜ ์˜†์—์„œ ์š”์†Œ๋ฅผ ๋ณด๊ณ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์€ ๋А๋‚Œ์„ ์ค€๋‹ค.

์›๊ทผ ๊ฑฐ๋ฆฌ๋Š” ์š”์†Œ์˜ ์›๋ž˜ ์œ„์น˜์—์„œ ์ •๊ฐ€์šด๋ฐ๋ฅผ ๋ฐ”๋ผ๋ณด๋Š” ๊ฒƒ์œผ๋กœ ์ธก์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ์˜ฎ๊ธฐ๋ฉด ์˜†์—์„œ ๋ณด๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ํ™”๋ฉด์— ๋ฌ˜์‚ฌ๊ฐ€ ๋œ๋‹ค.

728x90