Даданьне ды адыманьне вектараў ды матрыц - проста даданьне ды адыманьне адпаведных элементаў. Множаньне вектараў мае два тыпы: вектарнае памнажэньне, дзе вынік - вектар, ды скалярнае памнажэньне, дзе вынікам ёсьць лік. Скалярнае памнажэньне моцна зьвязанае зь зь канцэпцыяй базісу ў шматмернай прасторы і вынікам мае праекцыю аднаго ветара на другі. Яно задаецца формулай:
A*B = Ai*BiТут прынятае простае правіла: калі нейкі індэкс ўваходзіць ў выраз некалькі разоў, маецца на ўвазе даданьне па гэтаму індэксу.
Вектарнае памножаньне крыху больш складанае. Вынікам ёсьць вектар, перпендыкулярны да абодзьвух зыходных, ды яго даўжыня роўна плошчы паралелаграма, ўтворанага гэтымі вектарамі. Вектарнае памножаньне ёсьць:Заўважце, што ў прасторы з трыма вымярэньнямі такое памножаньне патрабуе 2 вектары, але ў прасторы зь N вымярэньнямі патрабуецца N-1 вектараў, але скалярнае памножаньне заўсёды патрабуе толькі 2 вектары.
Найбольш агульная форма лінейнай залежнасьці паміж вектарамі ёсьць:
Bi = AijBjГэта завецца памножаньнем вектара ды матрыцы. Такім памножаньнем задаецца пераход зь аднаго базіса ў іншы, ды элементамі матрыцы ёсьць скалярнае памножаньне кожнага вектара першага базіса на кожны вектар другога базіса:
Aij = ei*ejМатрыца завецца сымвалам Кранекера, альбо адзінкавай матрыцай. Відавочна, што
AiEij = Aj
Калі патрэбна перавесьці вектар спачатку ў адзін базіс, а потым ў другі, мы павінны памножыць зыходны вектар на матрыцы гэтых пераходаў. Вынік можа разглядацца як вынік памножаньня зыходнага вектара на матрыцу, якая ёсьць памножаньнем дадзеных дзьвух матрыцаў. Такім чынам, вынік памножаньня дзьвух матрыцаў ёсьць матрыцай тых жа памераў, якая задаецца формулай:
Cij = AikBljEklМатрыца Bij = Aji завецца матрыцай, транспанаванай да A.
Тэкст модуля, што ўтрымлівае асноўныя апэрацыі на вектарах ды матрыцах Matrix.pas.
Ў прасторы зь трыма вымярэньнямі плошча паміж дзьвума вектарамі ёсьць:
S = [A,B]
Аб'ём паміж трыма вектарамі ёсьць скалярнае памножаньне вектара плошчы паміж першымі дзьвумя вектарамі на трэці вектар S on the third vector:
V = C*S, альбо
Ў прасторы зь N вымярэньнямі "N-мерны аб'ём" паміж N вектарамі вылічаецца як дэтэрмінант:
Дэфініцыя дэтэрмінанта даецца праз рэкурсію: дэтэрмінант N-мернай матрыцы ёсьць
сумма па ўсіх і памножаньняў i'га элемента першай стракі на дэтэрмінант зыходнай матрыцы без першай стракі ды i'га стаўбца.
Памятайце, што трэба зьмяняць знак дададзеных на кожным новым стаўбцы.
Некаторыя ўласьцівасьці дэтэрмінанта:
Паспрабуем адшукаць матрыцу A-1 такую, што AA-1=1
Матрыца A-1 ёсьць:
Aij-1 = Sij /det(A)
дзе Sij альгебраічным дапаўненьнем [i,j]га элемента - дэтэрмінантам зыходнай матрыцы без i-га стаўбца ды j-й стракі,
знак якога зьмяняецца на кожным наступным стаўбцы.
Матрыца A-1 завецца зваротнай матрыцай.
Памножаньне AB-1 завецца дзяленьнем А на В.
Памножаньне ды дзяленьне матрыцаў ёсьць даданьнем ды адыманьнем пераходаў.
Напрыклад, калі вектар пераведзены ў іншы базіс памножаньнем на матрыцу A,
ён можа быць пераведзены зваротна ў зыходны базіс памножаньнем на матрыцу A-1.
Тэкст працэдуры, што вылічае дэтэрмінант Determinant.pas ды тэкст модуля, што ўтрымлівае асноўныя апэрацыі на вектарах ды матрыцах Matrix.pas.
Найбольш складаныя задачы 3D-графікі - павароты ў прасторы ды эмуляцыя асьвятленьня.
Павароты ажыцьцяўляюцца зь выкарыстаньнем сферычнай сыстэмы каардынатаў. Ў ей вельмі проста варочаць аб'екты. Гэта робіцца так:
Эмуляцыя асьвятленьня заснаваная на залежнасьці паміж інтэнсіўнасьцямі падаючага ды адбітага сьвятла, што задаецца формулай:
I(a) = I0*cos(a), альбо, выкарыстоўваючы вектары I = L*n,
дзе a - вугал паміж промнем сьвятла ды паверхняй, L ёсьць "вектар сьвятла"
ды n - адзінкавы вектар, перпендыкулярны да паверхні.
Кожны віртуальны 3D-аб'ект складаецца зь шматграньнікаў (няхай для прастаты гэта будуць трохкутнікі). Каб асьвятліць абэект, мы павінны вылічыць колер кожнага шматграньніка. Калі нам зададзеныя каардынаты ўсіх кропак шматграньнікаў, эмуляцыя асьвятленьня ажыцьцяўляецца ў некалькі крокаў:
RGB-кампаненты колера зыходнага трохкутніка прапарцыянальныя інтэнсіўнасьці адбітага сьвятла.
Напачатку нагадаем некаторыя дыфферэнцыяльныя вектарныя аператары:
Найбольш распаўсюджаная - роўнасьць Лапласа (альбо роўнасьць Пуассона як больш агульны від роўнасьці). Гэтыя роўнасьці выведзеныя для такіх палёў:
Роўнасьць Д'Аламбера - роўнасьць бягучых хваляў, вельмі падобная на роўнасьць Лапласа і яе можна рашаць і ў комплекснай прасторы Мінкоўскага, і мадэлюючы пругкую прастору наборам часьцінак, што рухаюцца па законах Ньютана.
Мы можам проста абагульніць ўсе метады матрычнай альгебры на функцыі.
Скалярнае памножаньне ёсьць:
"Памножаньне вектара на матрыцу":
Базісная функцыя артаганальная, калі
Як бачыце, раскладаньне Фур'е - толькі перавод функцыі як "вектара" ў іншы базіс.
Зараз формула для раскладаньня амаль відавочная:
Вы можаце праверыць, ці з'яўляецца "базісная функцыя" f(w,t) = eiwt артаганальнай.