복수수의 확장판
표현
q = ( v, w) = (x, y, z, w) = xi + yj + zk + w
v: 사원수의 허수부, ( i, j, k는 허수 단위)
w: 사원수의 실수부
혹은
q = v + s
v: 사원수 허수부
s: 사원수 실수부
허수부들의 곱 성질
i2 + j2 + k2 = -1
i j = -j i = k
j k = -k j = i
k i = -i k = j
허수부에 더하기, 크기, 내적, 외적 등 모든 벡터 연산 사용 가능
두개의 사원수 q, r곱 ( 허수 단위들간의 곱셈을 비가환적)
qr = (iqx + jqy + kqz + qw) (irx + jry + krz + rw)
= i (qyrz - qzry + rwqx + qwrx) + j (qzrx - qxrz + rwqy + qwry) + k (qxry - qyrx + rwqz + qwrz)
+ qwrw - qxrx - qyry - qzrz
=( qv x rv + rwqv + qwrv, qwrw - qv • rv)
| i j k |
| qx qy qz |
| rx ry rz |
외적 공식은 i (qyrz - qzry) - j (qxrz - qzrx ) + k (qxry - qyrx)
덧셈: q + r = (qv, qw) + (rv, rw) = (qv + rv, qw + rw)
공액(켤레, conjugate): q* = (qv, qw)* = (-qv, qw)
놈(norm): ||q||2 = n(q) = qq* = qv .qv + qw2 = qx2 + qy2 + qz2 + qw2 (실수부만 남음)
항등 사원수: i = (0, 1)
곱셈역(multiplicative inverse): q-1
q-1q = qq-1 = 1이 만족 해야 함, 역도 마찬가지로 만족해야 함
놈의 정의로 부터 유도함
||q||2 = qq* ⇔ 1 = qq* / ||q||2 , q-1 = q* / ||q||2
스칼라 곱은 가환적
(가환적: 연산의 순서를 바꾸어도 그 결과가 변하지 않는 일
실수 전체의 집합에서는 덧셈과 곱셈이 가환적)
sq = (0, s) (qv, qw) = (sqv, sqw)
qs = (qv, qw) (0, s) = (sqv, sqw)
공액 규칙:
(q*)* = q
(q + r)* = q* + r*
(qr)* = r* q*
놈의 규칙:
n(q*) = n(q)
n(q r) = n(q) n(r)
곱셈의 법칙
선형성:
p ( sq + tr ) = spq + tpr
( sp + tq ) = spr + tqr
결합법칙:
p(qr) = (pq)r
단위 사원수: q = (qv, qw)는 n(q)=1
그러므로 q = (sinøuq, cosø) = sinøu + cosø 이
||uq|| = 1인 3차원 벡터 uq에 대해 만족됨
이유: uq • uq = 1 =||uq||2 이 만족되는 경우에 다음과 같이 되기 때문
n(q) = n(sinøuq, cosø) = sin2 ø (uq • uq) + cos2ø = sin2ø + cos2ø = 1
단위 사원수는 매우 효율적인 방법으로 회전 & 방향 전환 가능
복소수의 2차원 단위 벡터는 cosø + i sin ø = e iø
사원수에서 이와 동등한 식은 q = sinøuq + cosø = eøuq
단위 사원수에 대한
로그: log(q) = log(eøuq) = øuq
멱함수: qt = (sinøuq + cosø)t = eø t uq = sin(øt)uq + cos(øt)
참고 자료: Real-Time Rendering 2판
참고 자료: Real-Time Rendering 2판
댓글 없음:
댓글 쓰기