본문 바로가기
3D Algorithm

3차원 스케일(Scale)과 비율(Ratio)

by DarkRock 2024. 2. 20.
반응형

Geometry에서 

object의 크기를 조절할 때 스케일(Scale)을 이용할 때가 있습니다. 이때 스케일 수치는 비율을 사용하게 됩니다. 스케일 수치가 1(100%=100/100)이면 object의 현재 크기를 유지하는 것이고, 0.5(50%=50/100)면 현재 크기에서 절반으로 줄이는 결과가 됩니다. 
변환행렬에서 스케일과 관련된 인자는 대각행렬의 요소들입니다. 

출처: wiki


변환행렬에 임의의 점 px, py, pz를 곱하게 되면 스케일 수치를 각각의 좌표에 곱해주어서 스케일이 적용된 좌표를 계산하게 됩니다. 그래서 스케일 수치가 1이면 px, py, pz가 되고 0.5면 현재 좌표에서 0.5를 곱하는 형태가 되어 크기가 줄어들게 됩니다.

출처: wiki


이 스케일을 이용해서 현재 형상에서 목표 형상으로 변형시키는 간단한 예제를 보여드리겠습니다. 아래 반지름이 5인 원(노란색)과 10인 원이 있습니다. 


반지름이 5인 노란색원을 현재 형상이라고 하고 목표 형상이 반지름이 10인 원이라고 할 때, 이때의 목표 형상으로 변형하기 위한 스케일 수치는 아래와 같이 계산할 수 있습니다.
scale = 목표수치/현재수치 = 10/5 = 2
따라서 스케일 수치 2를 곱하게 되면 목표 형상인 반지름 10인 원으로 변형이 됩니다.
예를 들어 (5,5,0)인 점은 원점을 중심으로 반지름이 5인 원을 지나게 되고, scale 2를 하게 되면 각 좌표에 2를 곱하는 식이 되기 때문에 (5x2, 5x2, 0x2) = (10, 10, 0)인 점이 되어 원점을 중심으로 반지름이 10인 원을 지나게 됩니다.

반응형