반응형
행렬의 역행렬을 구할 때 행렬식(Determinant)이 0인지 아닌지를 판별해서 역행렬 존재 여부를 판별할 수 있습니다. 행렬식이 0일 때의 의미를 외적과 내적을 이용해서 설명해 드리도록 하겠습니다.
3x3 행렬에서 행렬식을 구하기 위한 식은 아래와 같습니다.
각 행을 하나의 백터라고 보면 2행과 3행의 백터를 외적하여 1행과 내적 한 식으로 볼 수 있습니다. 그래서 식을 다시 쓰면 아래와 같습니다.
1행 i, j, k를 a라고 하면,
det = dot(a, cross(u, v))
두 백터 u, v를 외적을 하게 되면, uv 평면의 수직인 법선 백터가 계산됩니다. 이 법선 백터에 a(i, j, k) 백터를 내적 하게 되면 결과 값을 통해 두 백터의 관계를 알 수 있습니다. 내적은 코사인 그래프와 연관이 있기 때문에 두 백터의 각이 0도, 즉 평행하면 그 내적 값은 1이 됩니다. 반면에 각이 90도이면 내적 수치는 0이 됩니다. 내적이 0이면 a 백터는 uv 평면상에 있다고 볼 수 있고 이 때는 역행렬이 존재하지 않다는 걸 의미하게 됩니다.
그리고 참고로 a, u, v 3개의 백터로 결정되는 육면체의 부피는 행렬식과 같습니다. 행렬식이 0이라면 육면체의 부피가 0이라고 보시면 됩니다.
벡터 내적, 외적 계산하는 글은 아래글에 있습니다.
2024.03.12 - [3D Algorithm] - 벡터 내적 외적 계산 공식과 결과 의미
반응형
'3D Algorithm' 카테고리의 다른 글
비율(ratio)을 이용한 3차원 점 이동 (0) | 2024.02.20 |
---|---|
3차원 스케일(Scale)과 비율(Ratio) (0) | 2024.02.20 |
두 벡터 사이각(내적, 외적 활용) (0) | 2024.01.17 |
변환행렬 사원수 변환 코드(Matrix to Quaternion using Eigen Library) (0) | 2024.01.12 |
Manifold와 Nonmanifold 차이(Mesh Processing) (0) | 2024.01.10 |