점과 좌표계 다루기
2D 평면기하 / 점과 좌표계 다루기
2.1 점과 좌표계 다루기
평면 위의 모든 도형은 점으로부터 출발합니다. Mathit은 가로와 세로 위치를 기준으로 하는 직교좌표와 거리 및 회전각을 기준으로 하는 극좌표를 동일한 수준의 기하 객체로 처리합니다.
직교좌표 정의
직교좌표는 소괄호 안에 가로 위치와 세로 위치를 쉼표로 구분하여 선언합니다.
A = (0, 0)
B = (4, 0)
C = (-2.5, 3.8)
D = (2 + sqrt(3), 1/2)정수와 소수뿐만 아니라 sqrt() 같은 제곱근이나 분수 사칙연산 표현식도 좌표값으로 직접 넣을 수 있습니다. 계산된 결과는 실수 좌표로 환산되어 평면 위에 정확히 배치됩니다.
극좌표 정의
원점을 기준으로 일정한 거리만큼 떨어져 있고 특정 각도를 이루는 점을 찍을 때는 극좌표 문법을 사용합니다. 소괄호 안에 거리 변수 r과 각도 변수 theta를 대입합니다.
P1 = (r=3, theta=45deg)
P2 = (r=5, theta=2*pi/3)각도에는 육십분법 단위인 deg를 붙이거나, 호도법 수치인 라디안을 실수 혹은 pi를 조합하여 적을 수 있습니다.
정다각형의 꼭짓점이나 원 위의 특정 지점을 잡을 때 삼각함수 값을 직접 계산하지 않고 각도만 명시하면 되므로 작도 과정이 대폭 단축됩니다.
벡터와 점의 변위 연산
평면 위의 위치를 나타내는 점과 방향 및 크기를 나타내는 벡터는 밀접하게 연동됩니다. vec() 함수는 순수 벡터 객체를 생성합니다.
u = vec(3, 1)점과 점을 빼면 두 점 사이의 방향과 거리를 담은 변위 벡터가 생성됩니다.
A = (1, 2)
B = (4, 6)
v = B - A이 연산에서 v는 점 A에서 점 B로 향하는 벡터 (3, 4)가 됩니다.
반대로 기준 점에 벡터를 더하여 새로운 점을 생성하는 평행이동도 직관적으로 작성할 수 있습니다.
C = A + u
D = B + v * 0.5A + u는 점 A의 좌표에서 벡터 u의 성분만큼 평행이동한 새로운 점 C를 반환합니다. v * 0.5처럼 벡터에 실수를 곱해 길이를 조절한 뒤 점에 더하는 연산도 유효합니다.