극좌표계(Polar coordinates)는 평면 위의 점을 나타내는 또 다른 방법으로, 직교좌표계(Cartesian coordinates) 대신 사용됩니다. 직교좌표계에서는 xxyy라는 두 개의 직각 축을 사용해 점의 위치를 나타내지만, 극좌표계에서는 기준점에서의 거리와 기준 방향으로부터의 각도를 사용합니다.

 

극좌표계 개요

  1. 기준점 (원점): 극좌표계에서 기준점은 거리를 측정하는 기준이 되는 점입니다. 이 점은 보통 O로 표시되며, 직교좌표계에서의 원점 (0,0)(0, 0)에 해당합니다.
  2. 거리 (r): 극좌표계의 첫 번째 요소인 r은 기준점 O에서 평면상의 점 P(x,y)까지의 거리를 나타냅니다. r은 항상 0 이상의 값을 가지며, 보통 음수는 허용되지 않습니다. 이 때, 점 P의 위치는 직교좌표계(Cartesian coordinates)에서 (x,y)에 위치해 있습니다.
  3. 각도 (α 또는 θ): 두 번째 요소는 각도 $\alpha$ (또는 $\theta$)입니다. 이는 양의 x축(기준 방향)과 점 P를 연결하는 선분이 이루는 각도를 나타냅니다. 각도는 보통 라디안(radian)으로 측정되지만, 경우에 따라 도(degree)로도 측정될 수 있습니다.

직교좌표계와 극좌표계 간의 변환

직교좌표계 (x,y)에서 극좌표계 (r,α)로 변환하려면:

  • r (반지름 또는 거리)는 다음과 같이 계산됩니다. $r = x^2 + y^2이 공식은 피타고라스 정리에서 유도됩니다.
  • α (각도)는 다음과 같이 계산됩니다:α=atan2(y,x)α . atan2(y, x) 함수는 점 가 이루는 각도를 계산합니다.

극좌표계를 직교좌표계로 변환

극좌표계 (r,α)를 다시 직교좌표계 (x,y)로 변환하려면:

  • **x**는 다음과 같이 계산됩니다:x=rcos⁡(α)x 
  • **y**는 다음과 같이 계산됩니다:y=rsin⁡(α)y 

이미지 처리에서의 활용: 픽셀유동화

이미지 처리 분야에서는 특정 픽셀의 직교좌표 (x,y)를 극좌표 (r,α)로 변환하는 것이 유용할 수 있습니다. 예를 들어, 회전, 스케일링, 또는 특정 영역에서의 왜곡 변환 등을 수행할 때 극좌표계를 사용하면 효율적입니다. 변환 작업이 끝난 후에는 다시 극좌표를 직교좌표로 변환하여 이미지를 출력합니다.

픽셀 유동화(Pixel liquify)은 포토샵에서 특정 픽셀주변을 확장시키거나 줄이는 것을 의미합니다. 알고리즘은 아래와 같습니다.

1. 유동화 알고리즘 메인: 픽셀유동화는 중심점O을 0,0이 아닌 다른 포인트로하여, 유동화를 시킬 수 있습니다. 위의 그림에서, 원의 중심을 O로 생각하고, r만큼 떨어져있는 픽셀을 O와 가까운 중심점으로 옮길 수 있습니다. 이 옮길 때의 위치는 중심점에서 $\sqrt{r}$만큼 옮깁니다.

그렇게되면, 해당픽셀은 중심점O로부터 $\sqrt{r}$ 만 큼 떨어진 픽셀이됩니다. 또는, 움직임의 강도를 c만큼 주어 $c \sqrt{r}$ 만큼 옮길수도있습니다.

2. 거리에 따른 강도조절: 원점에서 가까운점은 덜 움직이고, 가장자리부분을 크게 움직이려면 exponential 함수를 이용하면됩니다. 음수의 지수함수는 x가 커질수록 0에 (거리가 멀수록 덜움직이고), x가 작을수록 큽니다(가까울수록 많이움직임). 

 

아래는 픽셀유동화의 중심점 O을 4곳(좌상단, 중앙부 2곳, 우하단)에 적용한 예시입니다. 모두 극좌표계를 이용해서(중앙점에 상대적인 위치변화) 변경했습니다.

 

반응형

+ Recent posts