-
좌표변환(평행이동, 회전이동), 구면좌표계, 원통좌표계D3D를 위한 수학 2022. 12. 14. 09:06728x90반응형
좌표변환
평행이동(각 요소에대해 평행이동벡터를 더한다)
회전변환
변환 행렬
R_x(θ) = [ 1 0 0 ]
[ 0 cosθ -sinθ]
[ 0 sinθ cosθ]
R_y(θ) = [conθ 0 sinθ]
[ 0 1 0 ]
[-sinθ 0 cosθ]
R_z(θ) = [cosθ -sinθ 0 ]
[sinθ cosθ 0 ]
[ 0 0 1 ]
**항상 방향은 반시계방향(오른손을 들어서 엄지를 축으로뒀을때 감기는방향)
3D회전좌표 R = R_z(θ_3) R_y(θ_2) R_x(θ_1)
좌표축이아닌 임의의 단위벡터 u = (u_x, u_y, u_z)을 회전축으로 한 회전변환 행렬은
다음과 같다.(단, u_x^2 + u_y^2 + u_z^2 = 1)
[ cosθ+u_x^2*(1-cosθ) u_x*u_y*(1-cosθ)-u_z*sinθ u_x*u_z*(1-cosθ)+u_y*sinθ]
R = [u_y*u_x*(1-cosθ)+u_z*sinθ cosθ+u_y^2*(1-cosθ) u_y*u_z*(1-cosθ)-u_x*sinθ]
[u_z*u_x*(1-cosθ)+u_y*sinθ u_z*u_y*(1-cosθ)+u_x*sinθ cosθ+u_z^2*(1-cosθ) ]
회전변환R, 평행이동 t= [tx, ty, tz]^T를 이용한 일반적인 3D변환식(rigid변환)은 다음과같다.
[X`] [X] [t_x]
[Y`] = R[Y] + [t_y]
[Z`] [Z] [t_z]
2D변환과 마찬가지로, 3D 변환에서도 homogeneous 좌표를 사용하면 다음과 같이
회전변환과 평행이동을 하나의 변환행렬로 즉, 선형변환 형태로 표현할수 있다.
[X`] [r_11 r_12 r_13 t_x] [X]
[Y`] = [r_21 r_22 r_23 t_y] + [Y]
[Z`] [r_31 r_32 r_33 t_z] [Z]
[1 ] [ 0 0 0 1 ] [1]
구면좌표계(spherical coordinate system)
3차원 공간 상의 점들을 나타내는 좌표계의 하나로, 보통(r,θ, Φ)로 나타낸다.
원점에서의 거리 r은 0부터 무한대까지,
양의방향의 z축과 이루는 각도 θ는 0부터π까지,
z축을 축으로 양의방향의 x축과 이루는 각 Φ는 0부터 2π까지의 값을 갖는다.
θ는 위도로, Φ는 경도로 표현되는 경우도 있다.
하나의 점을 나타내는 좌표는 여러개일수 있다. 축지점의 좌표들이 대게 그럼
직교좌표계->구면좌표계
r = 루트(x^2 + y^2 + z^2)
θ= arccos(z/r)
Φ= arctan(y/x)
구면좌표계->직교좌표계
x = r*sinθ*cosΦ
y = r*sinθ*sinΦ
z = r*cosθ
단위벡터
단위R =(dR/dr) / l(dR/dr)l = [sinθ*cosΦ]
[sinθ*sinΦ ]
[ cosθ ]
단위벡터θ =(dR/dθ) / l(dR/dθ)l = [cosθ*cosΦ]
[cosθ*sinΦ ]
[ -sinθ ]
단위벡터Φ =(dR/dΦ) / l(dR/dΦ)l = [-sinΦ]
[ cosΦ]
[ 0 ]
원통좌표계(cylindrical coordinate system)
3차원 공간을 나타내기 위해, 평면 극좌표계에 평면에서부터의 높이z(혹은 h)를 더해,
(r,θ, z)로 이루어지는 좌표계이다.
원통좌표계는 한 축을 중심으로 대칭성을 갖는 경우에 유용하다.
예를들면, 반지름이 c인 무한히 긴 원통의 직교좌표계에서의 식은 x^2 + y^2 = c^2이지만,
원통좌표계에서는 간단히 r = c가 된다. 이런 이유로 원통좌표계란 이름이 붙어있다.
- r은 원점에서 p의점을 xy평면으로의 사영p`까지의 거리를 나타낸다. (lplcosθ)(r>=0)
- θ는 양의 x축 방향에서 반시계 방향으로 측정한 op까지의 각이다.(0<=θ<=2π)
- z는 z(높이)와 같다.(z제한없음)
직교좌표계->원통좌표계
r = 루트(x^2 + y^2)
θ= tan^-1(y/x)
z = z
단위벡터
단위R =(dR/dr) / l(dR/dr)l = [sinθ]
[sinθ]
[ 0 ]
단위벡터θ =(dR/dθ) / l(dR/dθ)l = [-sinθ]
[ cosθ]
[ 0 ]
단위벡터z =(dR/dz) / l(dR/dz)l = [0]
[0]
[1]
728x90반응형