개념에서 수식으로
먼저 이해할 내용
점·직선·평면은 따로 외우는 대상이 아니라 위치와 방향, 그리고 그 사이의 제약으로 연결할 수 있다. 이 글은 동차좌표로 점과 평면을 표현하고, 내적·외적·행렬식을 이용해 교점과 방향을 계산하는 과정을 다룬다.
기호를 먼저 읽기
- P
- (x,y,z,1)=점에 동차좌표 성분을 붙인 표현
- N
- (a,b,c,d)=평면식의 네 계수; (a,b,c)가 3차원 법선
- L
- 직선의 방향벡터
- ·, ×
- 문맥에 따라 구별할 내적과 외적
- Det
- 행렬식
- t
- 직선 위 위치를 변화시키는 매개변수
이 글의 흐름
점의 차이로 방향을 만들고, 법선과의 내적으로 평면 조건을 적는다. 여러 점·평면의 교차 관계를 행렬식으로 읽고, 벡터 연산과 면적·방향 판단으로 확장한다.
주제와 표기
3 Dimension Space
3 D Equation
Point
점 두 개에서 직선의 방향을 얻는다
P와 Q의 위치 차이는 두 점을 잇는 방향이다. 직선 대칭식의 세 비율은 같은 이동 매개변수를 나타낸다. 특정 방향 성분이 0이면 그 분모로 나눌 수 없으므로, 모든 직선을 이 분수 형태로 곧바로 계산하지 않는다.
Line Equation
Plane(Normal Vector)
법선에 수직이라는 조건으로 평면을 적는다
평면 위 기준점에서 다른 점까지의 방향이 법선과 수직이면 내적이 0이다. 이를 펼치면 ax+by+cz+d=0 형태가 된다. 네 계수 중 d는 평면의 위치에 관련된 상수이며, 3차원 법선의 네 번째 방향 성분으로 읽지 않는다.
Line Equation
Plane Equation
3 Point → Plane (Normal Vector)
세 점이 같은 평면을 만족하게 한다
P₀·P₁·P₂를 각각 평면식에 넣어 0이 되는 조건을 만든다. 이어지는 동차좌표 행렬식은 세 점을 통과하는 평면의 계수를 한 표현으로 묶으려는 것이다. 세 점이 한 직선 위에 있으면 평면 하나를 유일하게 정할 수 없다는 조건을 함께 확인한다.
3 Plane (Normal Vector) → Point
세 평면의 공통점을 동차좌표로 표현한다
이번에는 점이 미지수이고 세 평면의 계수가 주어진다. 행렬식으로 얻은 네 성분을 점의 표현으로 읽으려면 마지막 동차 성분에 대한 정규화가 필요하다. 모든 평면 조합이 유한한 교점 하나를 갖는다고 가정하지 않는다.
2 Plane (Normal Vector) → Line
두 법선에 수직인 방향을 찾는다
두 평면의 교선 방향은 두 법선에 모두 수직이어야 한다. 따라서 법선의 외적을 방향벡터로 사용한다. 원문 성분 전개의 두 번째 부호는 앞의 행렬식 전개와 대응을 확인해야 하므로, 줄마다 같은 방향이 보장된다고 그대로 설명하지 않는다.
방향만으로는 직선의 위치가 정해지지 않는다
교선의 방향을 얻은 뒤 그 위의 점 하나를 찾으면 직선을 정할 수 있다. 원문은 z=0을 두는 절차를 예로 사용하지만, 해당 평면과 교선의 배치에서 이 선택이 가능한지 확인해야 한다. 평면을 정하는 두 직선도 같은 평면 위에 놓일 수 있는 조건을 확인한다.
2 Line→ Plane (Normal Vector)
2 Line Angle
각도와 교점은 다른 계산이다
두 직선의 각도는 방향벡터 내적을 길이의 곱으로 나눈 코사인으로 읽는다. 세 평면의 교점은 연립방정식의 공통해를 찾는 문제이다. 동차좌표의 마지막 성분으로 나눌 때에는 그 값이 0이 아닌지 확인한다.
Equation Solution
Homogeneous Coordinates Matrix
Reduction, Extension, Movement
회전과 이동을 행렬 표현으로 읽는다
동차좌표를 사용하면 점의 회전·이동·크기 변경을 같은 행렬 틀에서 표현할 수 있다. 이 구간의 구체적인 변환행렬은 이미지에 있으므로, 보이지 않는 원소나 이동항의 위치를 임의로 보충하지 않는다. 입력이 행벡터인지 열벡터인지도 실제 식과 함께 확인한다.
수식을 불러오지 못했습니다.
Rotation
z Axis Rotation - [θ]
수식을 불러오지 못했습니다.
y Axis Rotation - [θ]
수식을 불러오지 못했습니다.
x Axis Rotation - [θ]
수식을 불러오지 못했습니다.
Transport [ESC]tr[ESC]
전치와 성분별 곱을 구별한다
전치는 가로 성분을 세로 성분으로 바꾸는 연산이다. 원문의 별표 곱은 같은 위치의 성분을 곱하는 형태로 제시되어 있으며, 일반적인 행렬곱과 다르다. MatrixForm 등은 표현 형식에 관련된 명령이고 행렬 원소를 바꾸는 새로운 수식으로 읽지 않는다.
Matrix Property
수식을 불러오지 못했습니다.
Form
//MatrixForm
{|v|}//StandardForm
//FullForm
Determinant (행렬식)
큰 행렬식을 작은 행렬식으로 나눈다
2×2에서는 주대각 곱에서 반대 대각 곱을 뺀다. 3×3에서는 첫 행의 각 원소에 해당 소행렬식을 곱하고 +, −, + 부호로 더한다. 세 항이 각각 어느 행과 열을 지운 결과인지 확인한다.
Vector
연산 기호에 따라 결과의 종류가 달라진다
내적은 대응 성분을 곱해 더하므로 하나의 숫자가 된다. 성분별 곱은 세 곱을 그대로 나열한 벡터이고, 외적은 두 벡터에 수직인 방향을 만든다. 원문에서 꺾쇠와 곱 기호가 혼용된 부분은 앞뒤 결과가 스칼라인지 벡터인지 구별해 읽는다.
Vector Angle
벡터의 방향과 크기를 분리한다
각도식은 내적을 두 노름으로 나누어 크기의 영향을 없앤다. 이후에 나란히 놓인 성분별 곱과 내적의 합은 결과가 서로 다르다. 같은 입력 두 개를 사용했다는 이유만으로 두 연산을 같은 것으로 취급하지 않는다.
Vector <U,V> ([ESC]*[ESC])
Vector Inner Product (Dot[{,,},{,,}], |U||V|Cos[θ] )
외적을 행렬식으로 계산한다
첫 행에 기저벡터, 다음 두 행에 입력벡터 성분을 놓고 행렬식을 전개한다. 두 번째 기저항 앞에 음의 부호가 붙는 것을 확인한다. U와 V의 순서를 바꾸면 결과 방향이 반대로 된다는 식도 함께 읽는다.
Vector External Product (Cross[{,,},{,,}], [ESC]cross[ESC])
Vector Property
삼중곱에서는 스칼라와 벡터를 특히 구별한다
벡터 삼중곱과 스칼라 삼중곱은 결과의 종류가 다르다. 원문은 내적·외적 기호가 혼용된 형태를 포함하므로, 세 곱을 나열한 벡터를 그 합인 스칼라와 같은 값으로 보지 않는다. 정의된 연산과 출력 차원에 따라 각 줄을 확인한다.
Area
행렬식의 크기와 부호가 서로 다른 정보를 준다
삼각형 면적 식은 점의 순서를 반영한 부호 있는 값으로 읽는다. 기하학적인 넓이가 필요하면 부호와 크기를 구별해야 한다. 뒤의 양·음 판단은 점의 순서와 좌표축 방향을 유지한 상태에서 좌·우 회전을 구별하는 데 사용한다.
Line & Point (Up|Down)
정리하면
기하 계산에서는 결과가 점인지 방향인지 하나의 스칼라인지 구별해야 한다. 교점의 유일성, 평행성, 영벡터와 분모 조건이 성립하는지도 함께 확인한다.