벡터와 선형대수
확통, 이산수학, 벡터 / 벡터와 선형대수
5.1 벡터와 선형대수
벡터는 평면 위의 고정된 위치를 갖는 점과 달리, 크기와 방향성만을 가지는 대수적 대상입니다. Mathit은 벡터를 시각화할 때 시점(출발점)을 자유롭게 지정할 수 있는 렌더링 체계를 갖추고 있습니다.
벡터 객체 생성
순수 2차원 벡터는 vec() 함수로 정의합니다.
u = vec(3, 1)
v = vec(-1, 2)
이 벡터들은 특정 좌표에 묶여 있지 않으므로, 캔버스의 어느 점에든 시점을 두고 화살표로 그려낼 수 있습니다.
벡터 그리기 지시어
벡터를 화면에 출력할 때는 draw: 지시어를 사용하며, 반드시 시점 위치를 나타내는 origin 속성을 함께 넘겨야 합니다.
draw: u, origin=(0, 0), color=#blue, label="$\vec{u}$"(e)
draw: v, origin=(0, 0), color=#red, label="$\vec{v}$"(nw)
원점 (0, 0)에서 출발하여 각각 (3, 1)과 (-1, 2)를 가리키는 화살표가 그려집니다.
벡터의 덧셈 법칙인 평행사변형 법칙을 시각화할 때는 벡터의 시점을 다른 벡터의 종점으로 옮겨 연쇄 배치합니다.
w = u + v
// 합성 벡터 렌더링
draw: w, origin=(0, 0), thick=2pt, color=#purple, label="$\vec{u}+\vec{v}$"(ne)
// 평행사변형 보조선
draw: v, origin=(3, 1), stroke=0.8pt, dash=(3pt, 2pt), color=#gray
draw: u, origin=(-1, 2), stroke=0.8pt, dash=(3pt, 2pt), color=#gray
origin=(3, 1)을 지정함으로써 벡터 v가 벡터 u의 끝점에서 시작하도록 만들 수 있습니다.
방향장 및 기울기장
미분방정식 에서 평면의 격자점마다 형성되는 접선의 기울기를 한눈에 보여주는 방향장은 field: 지시어로 생성합니다.
field: (x, y) => (1, x - y), range=[-3..3, -3..3], step=0.5, type=slope_line
첫 번째 인자에는 격자 좌표 를 받아 해당 위치의 미소 벡터 를 반환하는 화살표 익명 함수를 적습니다.
range는 방향장을 생성할 가로축과 세로축의 탐색 범위입니다.
step=0.5는 격자선 간격으로, 수치가 작을수록 더 조밀하게 기울기 선이 배치됩니다.
type 속성은 출력 형태를 결정합니다. 고등학교 교재 스타일의 단위 기울기 토막선을 그릴 때는 type=slope_line을 사용하고, 물리학의 유체 흐름이나 전기장처럼 화살표로 나타낼 때는 type=arrow를 사용합니다.