If you're seeing this message, it means we're having trouble loading external resources on our website.

Ако си зад уеб филтър, моля, увери се, че домейните *. kastatic.org и *. kasandbox.org са разрешени.

Основно съдържание

Примери за линейни трансформации: Ротации в R2

Примери за линейни трансформации: Ротации в R2. Създадено от Сал Кан.

Искаш ли да се присъединиш към разговора?

Все още няма публикации.
Разбираш ли английски? Натисни тук, за да видиш още дискусии в английския сайт на Кан Академия.

Видео транскрипция

Да опитаме да създадем линейна трансформация, която включва ротация на някакъв ъгъл тита. Това, което тя прави, е да вземе произволен вектор в R2 и да го изобрази като образ при ротацията на този вектор. Друг начин да го обясним е, че ротацията на произволен вектор х ще бъде равна на завъртането обратно на часовниковата стрелка на определени градуси спрямо х. Значи това искаме да получим чрез нашите инструменти за линейна трансформация. И за да се уверим, че изобщо е възможно да направим това, трябва да се уверим, че това действително е линейна трансформация. Ще го изобразя графично. Аз дори още нямам математическата дефиниция за това. Това е точно както ти го показвам. Много набързо ще направя координатни оси – Искам да ги направя малко по-прегледно от това – това е вертикалната ос. Това е хоризонталната ос. Мога да я означа с х1, а това ще е оста х2. В последното видео нарекох осите х и у. Това е първият компонент на нашите вектори. Това е вторият компонент на векторите, и ако имам някакъв вектор х като този, знаем, че ротация обратно на часовниковата стрелка ще изглежда ето така. Ще направя образите при ротацията в синьо. Ще изглежда ето така, като този ъгъл ето тук е ъгъл тита. Значи това тук е образът при ротацията на вектор х на ъгъл тита. Ето това е този вектор. Какво да направим, за да докажем, че това е линейна комбинация? Трябва да покажем две неща. Трябва да покажем, че трансформацията, т.е. ротацията на сумата от два вектора на ъгъл тита е равна на сумата от векторите, получени след ротацията им поотделно. Образът при ротацията на вектор х плюс образът след ротацията на вектор у. Ще ти го покажа нагледно. Това е вектор х. Да кажем, че вектор у изглежда ето така – ще направя първоначалните вектори в жълто. Да кажем, че вектор у изглежда ето така. Значи това е у. Колко е вектор х плюс вектор у? Да ги поставим начало към край. Ако го преместим тук, това също е вектор у, който не е в стандартна позиция, но х плюс у тогава ще бъде много близко до това. Ще го начертая по-добре, х плюс у ще изглежда ето така. Това ще бъде вектор х плюс у. А как ще изглежда образът му при ротация на ъгъл тита? Ако просто завъртим това на ъгъл тита? Правя го приблизително – ще изглежда горе-долу така. Това ето тук ще бъде образът след ротацията на вектор х плюс у на ъгъл тита. Сега да видим същото ли ще получим, ако завъртим вектор х и завъртим вектор у, а после ги съберем. Какво ще получа, ако завъртя у на ъгъл тита? При завъртане на у на ъгъл тита ще получа нещо подобно – това е приблизително. Трябваше да използвам линия и транспортир. Ще изглежда горе-долу така – това е образът на у при ротация на ъгъл тита – това тук. Това е същият ъгъл тита, с който работя през цялото време. Ще го оцветя, за да го виждаш. Това е този вектор ето тук. Образът след ротацията на вектор х е ето тук. Ако съберем образите след ротация на вектор х и на вектор у – мисля, че малко го изкривявам, но се надявам, че разбираш идеята – значи това е образът при ротация на вектор х плюс образът на вектор у. И реално получаваме образа при ротация на вектор (х + у). Поне графично първото условие е изпълнено. Второто условие това да е валидна линейна трансформация е че ротацията на даден ъгъл тита на мащабирана версия на вектора ще съвпада с мащабирана версия на образа от ротация на вектора. Ще дам още един нагледен пример тук, така че това е вертикалната ос, това е хоризонталната ос, и сега ще кажа, че това е нашият вектор х. Ще направя негова мащабирана версия. Мащабираната версия на вектор х ще е същата като оригиналния вектор х, но ще е уголемена малко, значи продължава още малко насам. Това е с по вектор х и сега искам да завъртя това на ъгъл тита. Ако го завъртя на ъгъл тита, ще получа вектор, който ще изглежда приблизително така. Въртя обратно на часовниковата стрелка. Значи този вектор ето тук е образ при ротацията на ъгъл тита обратно на часовниковата стрелка на с по вектор х. Това е ето това тук. Какво ще се случи, ако първо завъртим вектор х? Ако първо завъртим вектор х, ще получим този вектор ето тук. ... Значи това тук е просто ротация с ъгъл тита на вектор х, а после ще го мащабираме. Сега виждаме, че получаваме същото, както когато го умножим по с, тогава това нещо ще се увеличи до това нещо, когато го умножим по с. Поне визуално ти показах, че това условие е изпълнено. Значи ротацията определено е линейна трансформация, поне по начина, по който аз го показах. Сега да формулираме математическо определение за това. Да направим една матрица, която ще осъществи трансформацията. Значи казвам, че моята ротационна трансформация от R2 в R2 на произволен вектор х може да се дефинира като матрица 2 по 2. Тя ще бъде 2 по 2, защото изобразяваме от R2 в R2, по произволен вектор х. Твърдя, че мога да направя това, защото показах, макар и само визуално, че това е една линейна трансформация. Как да намеря матрицата А? Добре, започвам с... понеже това е изобразяване от R2 – ще започна с единична матрица за R2, която е [1;0;0;1]. Стълбовете са векторния базис на R2, нали? Ще означим този вектор-стълб като е1, този вектор-стълб е е2. За да намерим матрицата А трябва просто да трансформираме всеки от тези стълбове. Ще го запиша. Значи матрицата А ще бъде – първият ѝ стълб ще бъде ротационната трансформация, извършена спрямо вектор [1;0]. Вторият стълб ще бъде ротационната трансформация – тук имаме малко данни, които аз забравям да напиша – по втория вектор-стълб, или трансформацията на този стълб [0;1]. Ето така ще изглежда нашата матрица А. Как да разберем какви ще са тези елементи? Ще се опитам да получа някакви числа, които ще ме отведат тук. Хайде да опитаме. Ще направя още оси. Ще избера различен цвят, ще използвам сиво. Това е вертикалната ос. Това е хоризонталната ос. Мога да нарека това оста х1, а това оста х2. Този базисен вектор е е1, как ще изглежда той? Това тук е 1 по хоризонтала х1 и 0 по х2. Значи това е 1 тук, е1 ще изглежда ето така. Ще използвам по-ярък цвят. е1 ще изглежда ето така. Сега ще запиша е2, което ще изглежда ето така – ще го направя в жълто – е2 ще изглежда ето така. това е този вектор [0;1]. Това е 1 в посока х2. Ако завъртя вектор е1 с ъгъл тита, какво ще получа? Ще използвам този цвят – все още дължината му ще е 1, но ще го завъртя ето така на този ъгъл тита. Значи това е образът на е1 при ротация на ъгъл тита. Всичко това са вектори, разбира се. Ето какво получаваме. Какви са координатите му? Как можем да дефинираме новия вектор? Можем да използваме знанията си по тригонометрия – новата координата х1 – можем да ги наречем така, т.е. компонентът х1 ще бъде тази дължина ето тук. Ако начертая правоъгълен триъгълник, това е страната, която е прилежаща на ъгъл тита. Тази страна е хипотенузата, която има дължина 1. Как можем да намерим тази страна? Ако наречем тази страна прилежащата страна – прилежащата страна върху хипотенузата – ще го напиша ето тук. Прилежащата страна върху хипотенузата, която е просто 1, е равно на косинус от ъгъл тита. Това го знаем от тригонометрията. Косинусът е прилежащата страна върху хипотенузата, като прилежащата страна ще бъде новата ни координата х1, нали? Очевидно можем да пренебрегнем тази единица при делене на 1 просто нищо не се променя, което означава, че остава само косинус от тита, значи тази дължина на нашия вектор след ротацията е равна на косинус от тита. Хоризонталният компонент или координатата по хоризонтала е равна на косинус от тита. А каква е координатата по вертикала? Вертикалният компонент ще бъде тази височина тук, която е равна на тази височина ето тук. Или можем да кажем, че това е синус от тита – синусът е равен на срещулежащата страна върху 1. Значи това е синус от тита, нали? Това върху 1, не се променя, което е равно на синус тита, срещулежащата страна върху хипотенузата. Значи вертикалният компонент е равен на синус тита. Полученият след ротацията базисен вектор може да се представи като косинус от тита за х компонентата, или хоризонталния компонент и синус от тита за вертикален компонент. Това е новият вектор след ротацията. А какво да кажем за е2? Можем да направим същото нещо – е2 ще изглежда ето така след ротацията с ъгъл тита. Ще изглежда ето така. Този ъгъл тук е тита. Можем да направим правоъгълен триъгълник тук. За да намерим х-координатата му – сега разглеждаме ротацията с ъгъл тита на е2, което е ето това тук, образът на е2. Това тук е е2. Това на какво ще е равно? Новата координата х или първият компонент на този вектор, ако искам да го начертая в стандартно положение, или точката, която го определя, ще бъде равно на това разстояние, което е равно на разстоянието в този триъгълник. Но координатата ще бъде равна на това със знак минус, нали? Ако това разстояние е 2, тогава тази координата ще бъде минус 2. Колко е това? Имаме един ъгъл. Това е правоъгълен триъгълник. Тази страна е срещулежаща на ъгъла. Срещулежащата върху 1, срещулежащата страна върху хипотенузата е равно на косинус от тита. Значи тази срещулежаща страна е равна на косинус от тита. Това е координатата х ето тук. Извинявам се, обърках тригонометрията. Това е срещулежащата страна. Синус е равен на срещулежащата – ще го запиша – синус от тита е равен на срещулежащата страна върху хипотенузата. Значи синус от тита – синусът от този ъгъл е равен на срещулежащата страна върху хипотенузата. Хипотенузата е 1, дължината ѝ е 1, защото това са стандартни базисни вектори. Значи това е равно на синус от тита. Това разстояние е равно на синус от тита, което се намира в отрицателна посока, така че ще бъде равно на минус синус от тита. А колко е компонента у на тази версия на е2 след ротацията? Да погледнем тук. Имаме нашия ъгъл. Това е прилежащата страна на този ъгъл. Прилежащата страна върху хипотенузата – прилежащата върху 1 – това тук е просто прилежащата страна ето тук, която ще е равна на косинус от тита. Значи новата координата у ще е равна на косинус от тита. И когато приложим трансформацията към всеки от базисните вектори, получаваме, че А е равна на трансформацията, приложена към е1, която е косинус от тита и синус от тита. Трансформацията, приложена към е2, която е минус синус от тита и косинус от тита. Това е важен резултат. Сега вече можем математически да определим трансформацията чрез ротация с помощта на матрица. Сега можем да кажем, че трансформацията чрез ротация – това е трансформация от R2 в R2 – това е функция. Можем да кажем, че ротацията на ъгъл тита на произволен вектор х в нашето множество на първообразите е равно на матрицата косинус от тита, синус от тита, минус синус от тита, косинус от тита, по нашия вектор в множеството на първообразите, по [х1; х2]. Тук може да попиташ: "Сал, свършихме всичко това, и то е хубаво, но как можем да го използваме? С всички тези косинуси и синуси от тита – как да го използвам?" Тук трябва да избереш ъгъла, на който искаш да завъртиш, и да изчислиш тригонометричните функции, и ще получиш нормална матрица, която съдържа само числа. Да кажем, че искаме да завъртим на ъгъл от 45 градуса някакъв вектор. На какво ще е равно това? Прилагаме, по-точно изчисляваме всяка от тези тригонометрични функции за 45 градуса. Косинус от 45 градуса е корен квадратен от 2, върху 2. Синус от 45 градуса е корен квадратен от 2, върху 2. Синус от 45 градуса е корен квадратен от 2, върху 2, но тук имаме минус – значи минус корен квадратен от 2, върху 2. И този косинус е просто корен квадратен от 2, върху 2. Умножаваме това по нашия вектор х. Значи тази матрица ще я умножим по произволен вектор х, съвсем буквално. Ако тук имаме някакви координати – да приемем, че имаме няколко вектора тук, които дефинират някакъв квадрат. Да видим мога ли да го направя правилно. Може би да е някакъв триъгълник – може би ще е малко по-лесно да го начертая. Ще направя квадрат. Да кажем, че имам някакъв квадрат в множеството на първообразите. Значи това е в R2. Ако буквално умножа това по всеки от тези базисни вектори, или всъщност всички вектори, които определят това множество тук, ще получа, когато го трансформирам, ще получа завъртяна версия на това на 45 градуса. Само за да го начертая, ще направя тук един ъгъл от 45 градуса. ... После ще го изобразя в този образ ето тук, което е доста добър резултат. Ако някога си опитвал/а да напишеш компютърна игра, която включва топчета, които се движат наоколо, това е много полезно да се знае – как да завърташ нещата. В бъдеще ще говоря и за други видове трансформации. Но това е супер полезна трансформация и много трудна за изпълнение. Спомням си първата компютърна програма, в която опитах да направя нещо подобно, направих го на ръка. Но когато имаш този инструмент на разположение, ще можеш да изчислиш тази матрица при този ъгъл, с който искаш да въртиш, и после да я умножиш по позиционните вектори. Очевидно тук има много позиционни вектори. Но тук можеш просто да умножиш по осите и вече е лесно. После остава само да свържеш точките между тях. И получаваш твоя образ при ротация. Искам да поясна, че това са точки, определени чрез множество от вектори и това винаги трябва да е ясно. Тази точка тук е определена от позиционен вектор, който изглежда ето така. Когато приложиш ротация с 45 градуса на този вектор, тогава този вектор ще изглежда ето така. Всеки вектор, който определя връх ето тук – ще използвам различен цвят – това определя този връх тук, и когато го завъртим на 45 градуса, тогава получаваме този вектор. Векторът, който определя този връх ето тук, сега той става този вектор. Ето това е което всъщност се изобразява, или всъщност се трансформира. Надявам се, че това ти се струва много хубаво. Аз лично смятам, че това е една много хубава трансформация. И вече можеш да започнеш да мислиш как можеш да приложиш това към повече измерения, особено за три измерения. Ако някога си опитвал/а да го направиш на ръка, тогава трансформацията в три измерения е много объркваща. В следващото видео на практика ще намерим начин да правим ротация в три измерения спрямо дадени оси.