Головна Математика Матричні Перетворення — Візуалізатор Лінійної Алгебри

⬜ Матричні Перетворення — Візуалізатор Лінійної Алгебри

Матричні перетворення наочно: поворот, масштаб, зсув і відбиття площини. Визначник, власні вектори та композиція матриць.

Математика2DЛегкий60 FPS
matrix-transforms ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Про цю симуляцію

Цей візуалізатор застосовує матрицю 2×2 M = [[a,b],[c,d]], яку можна редагувати в реальному часі, до кожної точки площини за формулою (x,y) → (ax+by, cx+dy), перемальовуючи координатну сітку, одиничне коло та базисні вектори î, ĵ щокадру, щоб лінійне відображення було видно як неперервний рух, а не абстрактну формулу. Паралельно з сіткою код обчислює trace = a+d і det = ad−bc, а потім розв'язує характеристичне рівняння λ² − trace·λ + det = 0 для власних значень матриці; коли дискримінант trace²−4det невід'ємний, програма також знаходить відповідні власні вектори з (M−λI)v = 0 і малює їх пунктирними жовтими лініями, що проходять крізь перетворення, не обертаючись. Вісім готових пресетів (тотожне перетворення, два повороти, рівномірне масштабування, горизонтальний зсув, обидва відбиття за осями та загальна матриця «стиснення») дають змогу одразу перейти до канонічних випадків, а класифікатор під полотном називає, яку саме матрицю зараз описують чотири повзунки.

Часті запитання

Що насправді робить матриця 2×2 з площиною?

Матриця 2×2 M = [[a,b],[c,d]] — це лінійне відображення, яке переводить кожну точку (x,y) у (ax+by, cx+dy). Оскільки відображення лінійне, прямі лишаються прямими, початок координат ніколи не рухається, а паралельні прямі лишаються паралельними — змінюються лише кути та відстані сітки. У цьому візуалізаторі перетворена координатна сітка малюється застосуванням саме цієї формули до кожної лінії сітки, а дві кольорові стрілки показують, куди потрапляють базисні вектори î=(1,0) і ĵ=(0,1) — ці образи є просто власними стовпцями матриці (a,c) і (b,d).

Як візуалізатор обчислює власні значення та власні вектори?

Спочатку код обчислює trace = a+d і det = ad−bc, а потім розв'язує характеристичне рівняння λ² − trace·λ + det = 0 безпосередньо за формулою квадратного рівняння λ = (trace ± √(trace²−4·det))/2. Якщо дискримінант trace²−4·det від'ємний, власні значення комплексні, і жодні дійсні власні вектори не малюються. Для кожного дійсного власного значення λ власний вектор зчитується з першого рядка (M−λI)v=0, що дає v=(−b,a); якщо b чисельно дорівнює нулю, використовується другий рядок замість першого, щоб уникнути ділення на нуль.

Що показує визначник тут і як він використовується?

det(M) = ad−bc вимірює, наскільки перетворення масштабує площу: панель статистики та помаранчевий перетворений еліпс (колишнє одиничне коло) обидва відображають це безпосередньо, оскільки площа еліпса дорівнює |det(M)|, помноженому на площу початкового кола. Додатний визначник зберігає орієнтацію, від'ємний — змінює її (відбиття), а det=0 означає, що матриця вироджена — вона стискає всю 2D-площину в одну лінію чи точку, що візуалізатор повідомляє як тип «Singular (collapses)».

Чому власні вектори лишаються на тій самій лінії, а все інше обертається?

За визначенням власний вектор v задовольняє Mv = λv: матриця переводить його у скалярний кратний самого себе, тож його напрямок (або точно протилежний, для від'ємного λ) ніколи не змінюється, лише довжина. Візуалізатор підкреслює це, малюючи кожен власний вектор пунктирною жовтою лінією через початок координат і анімуючи перехід матриці від тотожної до M — усі інші вектори сітки помітно обертаються й розтягуються, а стрілки власних векторів лише збільшуються чи зменшуються вздовж своєї початкової пунктирної лінії, що алгебраїчно і означає «лише розтягується, ніколи не обертається».

Чому деякі матриці в цьому інструменті взагалі не мають дійсних власних векторів?

Матриця повороту має trace²−4·det < 0 для будь-якого кута, відмінного від 0° або 180°, оскільки повороти задовольняють trace=2cosθ і det=1, що дає дискримінант 4cos²θ−4, від'ємний щоразу, коли cosθ ≠ ±1. Геометрично це логічно: справжній поворот повертає кожен ненульовий вектор у новому напрямку, тож жоден дійсний вектор не може лишитися на своїй лінії й бути кандидатом на власний вектор — натомість власні значення утворюють комплексно-спряжену пару e^{±iθ}, і візуалізатор коректно повідомляє «complex» для λ₁ і λ₂, пропускаючи малювання ліній власних векторів у цьому випадку.

Схожі симуляції