쿼터니언
쿼터니언 배열 생성
설명
쿼터니언은 3차원 회전 및 방향에 사용되는 네 개 부분으로 구성된 초복소수입니다.
쿼터니언 수는 형식으로 표현됩니다. 여기서 a, b, c, d 부분은 실수이고, i, j, k는 방정식 i2 = j2 = k2 = ijk = −1을 충족하는 기저 요소입니다.
H로 표시되는 쿼터니언 세트는 실수에 대한 4차원 벡터 공간인 R4 내에서 정의됩니다. H의 모든 요소는 기저 요소 i, j, k의 선형 결합을 기반으로 고유한 표현을 갖습니다.
3차원의 모든 회전은 회전 축과 그 축을 중심으로 한 각도로 설명할 수 있습니다. 회전 행렬에 비해 쿼터니언의 장점은 회전 축과 회전 각도를 쉽게 해석할 수 있다는 것입니다. 예를 들어 R3의 한 점을 생각해 보십시오. 이 점을 회전시키려면 회전 축과 회전 각도를 정의합니다.
이 회전의 쿼터니언 표현은 로 표현될 수 있으며, 여기서 θ는 회전 각도이고 [ub, uc, ud]는 회전 축입니다.
생성
구문
설명
은 빈 쿼터니언을 생성합니다.quat
= quaternion()
는 배열 quat
= quaternion(A,B,C,D
)A
, B
, C
, D
에서 네 가지 쿼터니언 부분을 가져오는 쿼터니언 배열을 생성합니다. 모든 입력값은 크기와 데이터형이 동일해야 합니다.
는 회전 벡터로 구성된 N×3 행렬 quat
= quaternion(RV
,"rotvec")RV
에서 N×1 쿼터니언 배열을 생성합니다. RV
의 각 행은 라디안 단위의 회전 벡터를 나타냅니다.
는 회전 벡터로 구성된 N×3 행렬 quat
= quaternion(RV
,"rotvecd")RV
에서 N×1 쿼터니언 배열을 생성합니다. RV
의 각 행은 도 단위의 회전 벡터를 나타냅니다.
은 SE(3) 변환 quat
= quaternion(transformation
)transformation
에서 쿼터니언 배열을 생성합니다.
은 SO(3) 회전 quat
= quaternion(rotation
)rotation
에서 쿼터니언 배열을 생성합니다.
입력 인수
객체 함수
angvel | 쿼터니언 배열의 각속도 |
classUnderlying | 쿼터니언 내 부분의 클래스 |
compact | 쿼터니언 배열을 N×4 행렬로 변환 |
conj | 쿼터니언의 켤레 복소수 |
eulerd | 쿼터니언을 오일러 각(단위: 도)으로 변환 |
dist | 각거리(단위: 라디안) |
euler | 쿼터니언을 오일러 각(단위: 라디안)으로 변환 |
exp | 쿼터니언 배열의 지수 |
ldivide | 요소별 쿼터니언 왼쪽 나눗셈 |
log | 쿼터니언 배열의 자연 로그 |
meanrot | 쿼터니언 평균 회전 |
minus, - | 쿼터니언 뺄셈 |
mtimes, * | 쿼터니언 곱셈 |
norm | 쿼터니언 노름 |
normalize | 쿼터니언 정규화 |
ones | 실수부는 1로, 허수부는 0으로 설정된 쿼터니언 배열 생성 |
parts | 쿼터니언 부분 추출 |
power | 요소별 쿼터니언 거듭제곱 |
prod | 쿼터니언 배열의 곱셈 |
randrot | 균등분포를 따르는 무작위 회전 |
rdivide | 요소별 쿼터니언 오른쪽 나눗셈 |
rotateframe | 쿼터니언 프레임 회전 |
rotatepoint | 쿼터니언 점 회전 |
rotmat | 쿼터니언을 회전 행렬로 변환 |
rotvec | 쿼터니언을 회전 벡터(단위: 라디안)로 변환 |
rotvecd | 쿼터니언을 회전 벡터(단위: 도)로 변환 |
slerp | 구면 선형 보간 |
times | 요소별 쿼터니언 곱셈 |
transpose,
.' | 쿼터니언 배열 전치 |
uminus, - | 쿼터니언 단항 마이너스 |
zeros | 모든 부분이 0으로 설정된 쿼터니언 배열 생성 |
ctranspose,
' | 쿼터니언 배열의 켤레 복소수 전치 |
예제
확장 기능
버전 내역
R2018a에 개발됨