Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π”Π°Ρ‚Π° добавлСния: 2015-08-14 ; просмотров: 14958 ; ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ авторских ΠΏΡ€Π°Π²

ВСма 9. МАВРИЦЫ

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, экономикС ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π°ΡƒΠΊΠ°Ρ… ΠΈ сфСрах чСловСчСской Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ рСализуСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² явном Π²ΠΈΠ΄Π΅: Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ» Π½Π΅ выносится Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сама структура ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ².

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ эта ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НаиболСС просто ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ M Π½Π° N ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· M строк ΠΈ N столбцов, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ всС элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ. Для обращСния ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ элСмСнту ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ указываСтся Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° строки ΠΈ столбца. НапримСр, запись Aij ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ элСмСнт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A, располоТСнный Π² i-ΠΎΠΉ строкС ΠΈ j-ΠΎΠΌ столбцС.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программирования ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° прСдставляСт собой Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив M Π½Π° N. Для объявлСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ запись:

Числа ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΎ, сколько строки ΠΈ столбцов Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°. Π’ качСствС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΊΠ°ΠΊ ΠΈ Π² случаС с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом, слСдуСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ константы, Π° Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, поэтому ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄ являСтся ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ:

//Ошибка!

int matrix[m][n];

Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π²Π΅Ρ€Π΅Π½:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ: Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Ρ‘ Π½Π° экран, ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΅Ρ‘ элСмСнтам.

НС нашли Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ искали? Google Π²Π°ΠΌ Π² ΠΏΠΎΠΌΠΎΡ‰ΡŒ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅)

Массив (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках программирования Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π°, ряд, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, Π²Π΅ΠΊΡ‚ΠΎΡ€) β€” структура Π΄Π°Π½Π½Ρ‹Ρ…, хранящая Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (элСмСнтов массива), ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠΎ индСксу ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Ρƒ индСксов, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… Ρ†Π΅Π»Ρ‹Π΅ (ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊ Ρ†Π΅Π»Ρ‹ΠΌ) значСния ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ абстрактного Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… β€” Π²Π΅ΠΊΡ‚ΠΎΡ€.

Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС массив ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΏΠΎ всСм размСрностям ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ описании, Ρ‚ΠΈΠΏΠ°. Ряд языков ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ динамичСскиС массивы, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ массивы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π² Ρ€Π°Π·Π½Ρ‹Ρ… элСмСнтах Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠžΠ±Ρ‰Π΅Π΅ описаниС

Массив β€” упорядочСнный Π½Π°Π±ΠΎΡ€ элСмСнтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… индСксов. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС массив ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°, Π° Π² качСствС индСксов Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Ρ†Π΅Π»Ρ‹Π΅ числа.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… индСксов массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ: массивы с ΠΎΠ΄Π½ΠΈΠΌ индСксом Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ, с двумя β€” Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ, ΠΈ Ρ‚. Π΄. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” нСстрого соотвСтствуСт Π²Π΅ΠΊΡ‚ΠΎΡ€Ρƒ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅; Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ («строка», «столбСц»)β€” ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅. Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ массивы с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ двумя индСксами; Ρ€Π΅ΠΆΠ΅ β€” с трСмя; Π΅Ρ‰Ρ‘ большСС количСство индСксов β€” встрСчаСтся ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ фиксированного массива Π½Π° языкС Паскаль

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π½Π° JavaScript

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° индСксных массивов (свой синтаксис объявлСния, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСмСнтами ΠΈ Ρ‚. Π΄.) Π΅ΡΡ‚ΡŒ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ высокоуровнСвых языков программирования. Максимально допустимая Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива, Ρ‚ΠΈΠΏΡ‹ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ индСксов, ограничСния Π½Π° Ρ‚ΠΈΠΏΡ‹ элСмСнтов ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ языком программирования ΠΈ (ΠΈΠ»ΠΈ) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ транслятором.

Π’ языках программирования, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… объявлСния программистом собствСнных Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Ρ‚ΠΈΠΏΠ° «массив». Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹ ΠΈ/ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· индСксов ΠΈ Ρ‚ΠΈΠΏ элСмСнтов массива. ΠžΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π² дальнСйшСм ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для опрСдСлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НСкоторыС языки ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…-массивов ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания (ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ всСм элСмСнтам массива ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ значСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ массива).

ОбъявлСниС Ρ‚ΠΈΠΏΠ° «массив» Π² языкС Паскаль

БпСцифичСскиС Ρ‚ΠΈΠΏΡ‹ массивов

ДинамичСскиС массивы

ДинамичСскими Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ массивы, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ (Π½Π΅ динамичСскиС) массивы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΅Ρ‰Ρ‘ фиксированными ΠΈΠ»ΠΈ статичСскими.

ДинамичСскиС массивы ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ языка программирования, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ систСмных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС динамичСский массив прСдставляСт собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚ΠΎΠΉ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° динамичСских массивов ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… возмоТностСй:

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ конструкций для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими массивами Π½Π° Delphi.

Π“Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ массивы

Π“Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹ΠΌ называСтся массив, Π² Ρ€Π°Π·Π½Ρ‹Π΅ элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нСпосрСдствСнно записаны значСния, относящиСся ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Массив, хранящий ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° значСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π½Π΅ являСтся Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ собствСнно хранящиСся Π² массивС Π΄Π°Π½Π½Ρ‹Π΅ относятся ΠΊ СдинствСнному Ρ‚ΠΈΠΏΡƒ β€” Ρ‚ΠΈΠΏΡƒ Β«ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΒ». Π“Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ массивы ΡƒΠ΄ΠΎΠ±Π½Ρ‹ ΠΊΠ°ΠΊ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ структура для хранСния Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². РСализация гСтСрогСнности Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ услоТнСния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ массивов Π² трансляторС языка.

РСализация

Π’ΠΈΠΏΠΎΠ²Ρ‹ΠΌ способом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ статичСского Π³ΠΎΠΌΠΎΠ³Π΅Π½Π½ΠΎΠ³ΠΎ (хранящСго Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°) массива являСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, адрСс элСмСнта с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ индСксов вычисляСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ врСмя доступа ΠΊΠΎ всСм элСмСнтам массива ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. (Π—Π΄Π΅ΡΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа слСдуСт ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ отсутствиС тСорСтичСской зависимости Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΎΡ‚ полоТСния элСмСнта ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива. Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ особСнности ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ разброс Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа. НапримСр, CAS-Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠžΠ—Π£ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, располоТСнным Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ (страницС) ΠžΠ—Π£, ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ считанным Π΄Π°Π½Π½Ρ‹ΠΌ. Π’ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ высокоуровнСвого программирования Ρ‚Π°ΠΊΠΈΠΌΠΈ тонкостями, Π·Π° Ρ€Π΅Π΄Ρ‡Π°ΠΉΡˆΠΈΠΌΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ, ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°ΡŽΡ‚.)

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива, Π² зависимости ΠΎΡ‚ языка программирования, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΉ индСкс. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ основных разновидности массивов: с отсчСтом ΠΎΡ‚ нуля (zero-based), с отсчСтом ΠΎΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ (one-based) ΠΈ с отсчСтом ΠΎΡ‚ спСцифичСского значСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ программистом (n-based). ΠžΡ‚ΡΡ‡Π΅Ρ‚ индСкса элСмСнта массивов с нуля Π±ΠΎΠ»Π΅Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков программирования, хотя встрСчаСтся ΠΈ Π² языках высокого уровня, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π‘ΠΈ. Π’ рядС языков (Паскаль, Ада, ΠœΠΎΠ΄ΡƒΠ»Π°-2) Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ любого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΊ Ρ†Π΅Π»ΠΎΠΌΡƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Ρ… чисСл, символов, пСрСчислСний, Π΄Π°ΠΆΠ΅ логичСского Ρ‚ΠΈΠΏΠ° (Π² послСднСм случаС массив ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° элСмСнта, индСксируСмых значСниями Β«Π˜ΡΡ‚ΠΈΠ½Π°Β» ΠΈ Β«Π›ΠΎΠΆΡŒΒ»).

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ способом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Ρ… массивов являСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ самих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² Π±Π»ΠΎΠΊΠ΅ памяти массива (ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π³ΠΎΠΌΠΎΠ³Π΅Π½Π½Ρ‹ΠΉ массив, описанный Π²Ρ‹ΡˆΠ΅) ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° эти элСмСнты. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° значСния Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€, удаётся ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ простоту вычислСния адрСса, хотя Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΌ.

Для динамичСских массивов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ размСщСния, Ρ‡Ρ‚ΠΎ ΠΈ для статичСских, Π½ΠΎ с Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ памяти для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ пСрСмСщСния содСрТимого массива Π² памяти.

Π’Π°ΠΊΠΆΠ΅ динамичСскиС ΠΈ Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ массивы ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΡƒΡ‚Ρ‘ΠΌ использования ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² памяти, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄Π½ΠΎ- ΠΈΠ»ΠΈ двухсвязных списков. Π’Π°ΠΊΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Π½ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ удаётся Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ константного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΊ элСмСнту.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§ΠΠ’Πž ΠΏΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌ ΠΈ ΠΊΠ²Π°Ρ‚Π΅Ρ€Π½ΠΈΠΎΠ½Π°ΠΌ

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы ΠΏΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌ ΠΈ ΠΊΠ²Π°Ρ‚Π΅Ρ€Π½ΠΈΠΎΠ½Π°ΠΌ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ OpenGL ΠΈ этого Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

Π’ этом Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, ΠΊΠ°ΠΊ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, всС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ прСдставлСны Π² стандартном матСматичСском Π²ΠΈΠ΄Π΅. К соТалСнию, Π² ΡƒΡ€ΠΎΠΊΠ°Ρ… ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΏΠΎ использованию графичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ‚ΠΈΠΏΠ° IrisGL, OpenGL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ прСдставлСниС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ мСстами столбцы ΠΈ строки.

Π’ этом Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° пСрСноса 4×4 записываСтся Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅:

\(M = \begin 1 & 0 & 0 & X\cr 0 & 1 & 0 & Y\cr 0 & 0 & 1 & Z\cr 0 & 0 & 0 & 1\cr \end\)

Π’ ΠΊΠΎΠ΄Π΅ это ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

OpenGL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив для хранСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Π½ΠΎ, ΠΊ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΎΠ½ΠΈ находятся Π² памяти Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² адрСс pfMatrix ΠΈ скастовав Π΅Π³ΠΎ ΠΊ float* ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ Π² glLoadMatrixf.

Π’ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΊΠΎΠ΄Π° Π² этом Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы для хранСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ элСмСнтов Π² Π½ΠΈΡ… транспонирован ΠΊΠ°ΠΊ Π² OpenGL.

Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚OpenGL
\(M = \begin 0 & 1 & 2 & 3\cr 4 & 5 & 6 & 7\cr 8 & 9 & 10 & 11\cr 12 & 13 & 14 & 15\cr \end\)\(M = \begin 0 & 4 & 8 & 12\cr 1 & 5 & 9 & 13\cr 2 & 6 & 10 & 14\cr 3 & 7 & 11 & 15\cr \end\)

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°?

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° это Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив чисСл, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ряд ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ чисСл.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒ.

Π Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ опрСдСляСтся количСством рядов ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° с M рядов ΠΈ N ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ описываСтся ΠΊΠ°ΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° MxN.

ΠžΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΡ… индСксов.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ индСксы ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ i ΠΈ j. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠΈΡˆΡƒΡ‚ строку, Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ссли Π΅ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° M с порядком 4×4, Ρ‚ΠΎ элСмСнты этой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠΈ индСксов строк ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ:

\(M = \begin 00 & 10 & 20 & 30\cr 01 & 11 & 21 & 31\cr 02 & 12 & 22 & 32\cr 03 & 13 & 23 & 33\cr \end\)

Π£ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ элСмСнта ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ i=0 ΠΈ j=3, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:
\(M_=M_<03>\)

Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 2×2, 3×3 ΠΈ 4×4.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 2×2 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ пространства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠ², сдвигов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 3×3 достаточны для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π΅ (Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ) ΠΈ ΠΌΠ°ΡΡˆΠ°Ρ‚Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для скСлСтной Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 4×3 достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 4×4 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для всСго Π½Π°Π±ΠΎΡ€Π° трансформаций Π² Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ пСрспСктивноС ΠΏΡ€ΠΎΠ΅Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ порядок ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹?

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ β€” это Π΅Ρ‘ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΠ· M строк ΠΈ N столбцов ΠΈΠΌΠ΅Π΅Ρ‚ порядок MxN.

Как я ΠΌΠΎΠ³Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² C/C++?

ΠŸΡ€ΠΎΡ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово typedef.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 3×3 ΠΈ 4×4 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ описаны Ρ‚Π°ΠΊ:

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ 3×3 ΠΈ 4×4, ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ 9 ΠΈ 16 элСмСнтов соотвСтствСнно.

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд, использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ массива чисСл ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. ИспользованиС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива каТСтся Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅:

Однако, использованиС Π΄Π²ΡƒΡ… систСм отсчСта для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ часто Π²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅. Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, сначала Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ строку(i), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ(j): \(M_\)

Π’ C/C++, это Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ:

ИспользованиС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Ρ‚Π°ΠΊΠΆΠ΅ подСйствуСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ процСссора, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ компилятор C всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ умноТСния для опрСдСлСния индСкса элСмСнта.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, эффСктивнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Однако останСтся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ вопрос. Как Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив проСцируСтся Π² Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ?

Π•ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: строка сначала, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° сначала, Π° строка ΠΏΠΎΡ‚ΠΎΠΌ.

Π Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ минимальна. Если всС Ρ†ΠΈΠΊΠ»Ρ‹ раскрыты, Ρ‚ΠΎ Π½Π΅Ρ‚ практичСски ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠ°ΠΊ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.

ΠŸΡ€ΠΈ использовании C/C++ порядок элСмСнтов Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

\(M = \begin 0 & 1 & 2 & 3\cr 4 & 5 & 6 & 7\cr 8 & 9 & 10 & 11\cr 12 & 13 & 14 & 15\cr \end\)\(M = \begin 0 & 1 & 2\cr 3 & 4 & 5\cr 6 & 7 & 8\cr \end\)

Π’ Ρ‡Π΅ΠΌ ΠΏΠ»ΡŽΡΡ‹ ΠΎΡ‚ использования ΠΌΠ°Ρ‚Ρ€ΠΈΡ†?

Один ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вопросов, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎ использованию ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ: Β«Π—Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹?Β». Π˜Π½Ρ‚ΡƒΠΈΡ†ΠΈΡ подсказываСт, Ρ‡Ρ‚ΠΎ придСтся Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ†ΠΈΠΊΠ»Ρ‹, ΠΈ Ρ‚Π΅ΠΌ самым ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ пСрСмноТСния замСдлят ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

РСшСниСм этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΡΠ²Π»ΡΡŽΡ‚ΡΡ рСгистры процСссора ΠΈ процСссорный кэш. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ счСтчиком Π² Ρ†ΠΈΠΊΠ»Π΅, Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ прСдсказания с Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ кэша ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΊ памяти.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ Π½Π° ΠΏΠ»ΡŽΡΡ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот матСматичСский ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² описании 3D Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ ΡΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму 3D Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ пСрсонаТа, сплайны ΠΈ ΠΈΠ½Π²Π΅Ρ€ΡΠ½ΡƒΡŽ ΠΊΠΈΠ½Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ.

Но Ρ‡Π°Ρ‰Π΅ всСго Π·Π²ΡƒΡ‡ΠΈΡ‚ Ρ‚Π°ΠΊΠΎΠΉ вопрос: «А Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ быстрСС, просто ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½Π° коэффициСнты ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° для оси, вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎ-ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅?Β»

ΠΈΠ½Π°Ρ‡Π΅ говоря:
Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² X ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Y ΠΈ Z
Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² Y ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ X ΠΈ Z
Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π² Z ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ X ΠΈ Y

Π—Π° это приводятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

Π”Π°Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π° V = (x, y, z), ΡƒΠ³Π»Ρ‹ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° (A,B ΠΈ C) ΠΈ пСрСнос (D,E,F).

И ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ:

ВмСстС ΠΎΠ½ΠΈ Π·Π°ΠΉΠΌΡƒΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ количСство процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

НастройкаНа ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ
6 тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
6 присваиваний.
12 присваиваний
12 ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ
9 слоТСний

Π’Π΅ ΠΆΠ΅ самыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ использовании ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ умноТСния.

Π‘ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ 4Ρ…4 ΠΎΠ½ΠΈ Π·Π°ΠΉΠΌΡƒΡ‚:

ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ°Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΠ° ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ€ΡˆΠΈΠ½ΡƒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
6 тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ00
18 присваиваний-123 присваиваний-9
12 ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ+129 ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ-3
6 Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠΉ+66 слоТСний-3

Бравнивая Π΄Π²Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° стоит ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 12 ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 18 присваиваний.

Однако ΠΌΡ‹ экономим Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Ρ€ΡˆΠΈΠ½. ИспользованиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ умноТСния, ΠΎΡ‚ настройки всСго 4 Π²Π΅Ρ€ΡˆΠΈΠ½, пСрСвСсит Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° настройкС.

Как ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚?

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°, пСрСноса, сдвига ΠΎΡ‡Π΅Π½ΡŒ просто Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ осСй X,Y,Z соотвСтствСнно.

Если описана ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° 4Ρ…4 ΠΊΠ°ΠΊ:
\(M = \begin A & B & C & D\cr E & F & G & H\cr I & J & K & L\cr M & N & O & P\cr \end\)

Π’Π΅ΠΊΡ‚ΠΎΡ€ направлСния для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ оси Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

ось \(X = [ A E I]\)
ось \(Y = [ B F J ]\)
ось \(Z = [ C G K]\)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Sep 19, 2019

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Они ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π²Π°Ρ‚Π°Ρ€Π°Ρ… Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках. ΠžΡ‚ массива Π² Python Π΄ΠΎ массивов Π΄Π°Π½Π½Ρ‹Ρ… Π² R ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π² MATLAB.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Π² своСй основной Ρ„ΠΎΡ€ΠΌΠ΅ прСдставляСт собой Π½Π°Π±ΠΎΡ€ чисСл, располоТСнных Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ»ΠΈ массивной Ρ„ΠΎΡ€ΠΌΠ΅. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ ΡΠ΅Ρ‚ΡŒ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΡƒΡŽ структуру.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, мноТСствСнноС число для ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π½Π° ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅.

ВсС наши ΠΌΠ΅ΠΌΡ‹, созданныС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Adobe Photoshop, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ гСомСтричСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

НапримСр, Π² Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎΠΉ плоскости X-Y ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания отраТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ оси Y. Π’ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π΅ это ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠ±ΠΈΠΉΡ†Ρ‹ Π² ΠΊΡ€ΠΎΠ²Π°Π²ΠΎΠΌ ΠΏΡ€ΡƒΠ΄Ρƒ. Если Π±Ρ‹ Π² Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΎΠ³Π½ΡƒΡ‚Ρ‹Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ повСрхности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ½Π°Ρ‚Π° Π·Π΅Ρ€ΠΊΠ°Π», ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π±Ρ‹Π»Π° Π±Ρ‹ Π±ΠΎΠ»Π΅Π΅ слоТной, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π’ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Ρ„ΠΈΠ·ΠΈΠΊΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для изучСния элСктричСских Ρ†Π΅ΠΏΠ΅ΠΉ, ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ ΠΈ ΠΎΠΏΡ‚ΠΈΠΊΠΈ. АэрокосмичСская инТСнСрия, химичСская инТСнСрия ΠΈ Ρ‚. Π”. Π’Ρ€Π΅Π±ΡƒΡŽΡ‚ идСально ΠΎΡ‚ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… вычислСний, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. Π’ Π±ΠΎΠ»ΡŒΠ½ΠΈΡ†Π°Ρ…, мСдицинских изобраТСниях, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚ΠΎΠΌΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈ МРВ для получСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для кодирования ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ сообщСний. Π’ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Ρ€ΠΎΠ±ΠΎΡ‚Π°. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для управлСния Ρ€ΠΎΠ±ΠΎΡ‚Π°ΠΌΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ Π½Π° основС расчСтов с использованиСм ΠΌΠ°Ρ‚Ρ€ΠΈΡ†.

На Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈ?

Условно число строк Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ обозначаСтсями количСство столбцов ΠΏΠΎN, Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°Ρ€ΠΎΡΡ‚Π˜ΠΊΡΡˆΠΈΡ€ΠΈΠ½Π°,ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ΠΌΠ˜ΠΊΡΠΏ.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Π°A,это Π±ΡƒΠ΄Π΅Ρ‚ записано Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π—Π΄Π΅ΡΡŒ m = 3 ΠΈ n = 4. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ А 12 элСмСнтов. ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΠΌΠ΅Π΅Ρ‚Ρ‚ = ΠΏ,

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° с ΠΎΠ΄Π½ΠΎΠΉ строкой называСтсяматрица строки ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° с ΠΎΠ΄Π½ΠΈΠΌ столбцом называСтсяматрица столбцов.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π§Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ с Π½ΠΈΠΌΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ числа ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹, Π²Ρ‹Ρ‡Ρ‚Π΅Π½Ρ‹ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Ρ‹. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ нюанс. НС всС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π΄Π°ΠΆΠ΅ для слоТСния, вычитания ΠΈ умноТСния.

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ† А (ΠΌ * ΠΏ) Π° Ρ‚Π°ΠΊΠΆΠ΅ B (ΠΌ * ΠΏ) Π΄Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π‘ (ΠΌ * ΠΏ). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ C ΡΠ²Π»ΡΡŽΡ‚ΡΡ суммой ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов Π² A ΠΈ B

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π—Π΄Π΅ΡΡŒ слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ / Π²Ρ‹Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ количСством строк ΠΈ столбцов, Ρ‚.Π΅.Ρ‚ΠΎΡ‚ ΠΆΠ΅ порядок (порядок = строки Ρ… столбцы)

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΌΠ°Ρ‚Ρ€ΠΈΡ† A (ΠΌ * ΠΏ) Π° Ρ‚Π°ΠΊΠΆΠ΅ Π’ (ΠΏ*ΠΏ) Π΄Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π‘ (ΠΌ * Ρ€). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для умноТСния Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ строки / столбцы A ΠΈ B Π±Ρ‹Π»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ элСмСнт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ C, ΡƒΠΌΠ½ΠΎΠΆΡŒΡ‚Π΅ элСмСнты 1-ΠΉ строки A Π½Π° 1-ΠΉ столбСц B ΠΈ слоТитС ΠΈΡ…

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΈΠ·Π΄Π°Π½ΠΈΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ большС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π˜Π½Π²Π΅Ρ€ΡΠΈΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, сопряТСниС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ Ρ‚. Π”.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ эти ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π² областинСйронныС сСтии ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… машинного обучСния изКНН(Алгоритм блиТайшСго сосСда) Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎΠ‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ ЛСса,

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° β€” это Π½Π°Π±ΠΎΡ€ чисСл, записываСмый Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ столбцы ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… число строк Ρ€Π°Π²Π½ΠΎ числу столбцов, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ. БущСствуСт особая квадратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° I (Identity) β€” Сдиничная. Она характСризуСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Ρ€Π°Π²Π½Ρ‹ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ β€” Π½ΡƒΠ»ΡŽ:

Π’ 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСобразования ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Π’ΠΎΠΎΠ±Ρ‰Π΅, для прСобразования базиса (базис β€” Π½Π°Π±ΠΎΡ€ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹Π΅ оси) Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС Π²ΠΏΠΎΠ»Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 3Ρ…3, ΠΎΠ΄Π½Π°ΠΊΠΎ, для Ρ†Π΅Π»Π΅ΠΉ 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ этого Π½Π΅ всСгда достаточно. Π’ частности, пСрспСктивноС ΠΏΡ€ΠΎΠ΅Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ, Π½ΠΎ для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° 4Ρ…4. Π’Π°ΠΊΠΆΠ΅ с этой Ρ†Π΅Π»ΡŒΡŽ вводятся Ρ‚.Π½. ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, Π³Π΄Π΅ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ (x, y, z) соотвСтствуСт Π½Π°Π±ΠΎΡ€ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (xw, yw, zw, w).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Из ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ, ΠΌΡ‹ рассмотрим ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, транспонированиС ΠΈ, частично, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅.

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Ρ‚Π°ΠΊ:
Если Aij β€” элСмСнт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ A, стоящий Π² i-ΠΎΠΉ строкС ΠΈ j-ΠΎΠΌ столбцС, ΠΈ C = AB, Ρ‚ΠΎ

Ρ‚.Π΅. элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ C ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ скалярныС произвСдСния строк A Π½Π° столбцы B.

Π—Π°Ρ‚ΠΎ ΠΎΠ½ΠΎ ассоциативно. ΠŸΡ€ΠΎΡ‰Π΅ говоря:
$$(AB)Π‘ = A(BC)$$

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ любой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ, Π΄Π°Π΅Ρ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ:
$$AI = A$$

ВранспонированиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅

БущСствуСт обратная ΠΊ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда ΠΈ процСсс Π΅Ρ‘ нахоТдСния Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π΅Π½. Однако, Π² 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, напомню, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для задания ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (базиса). Базис, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ трСмя Π²Π·Π°ΠΈΠΌΠ½ΠΎ пСрпСндикулярными Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, называСтся ΠΎΡ€Ρ‚ΠΎΠ½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. А Ρƒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π·Π°Π΄Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡ€Ρ‚ΠΎΠ½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ базиса Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, обратная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° совпадаСт с транспонированной:
$$A^ <-1>= A^T$$

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ этим свойством, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.
Π’ 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ ΠΈ ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΆΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Π’Ρ‹ΡˆΠ΅ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, Ρ‡Ρ‚ΠΎ Π² 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСобразования ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Π‘ этой Ρ†Π΅Π»ΡŒΡŽ Ρ‚ΠΎΡ‡ΠΊΠ° умноТаСтся (ΠΊΠ°ΠΊ однострочная ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°) Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ прСобразования.

НапримСр, для ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси X ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ пСрСноса, Π΅Π΅ Π½Π°Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ пСрСноса (см. ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π»). ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, Ρ‚.ΠΊ. ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π½Π΅ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ зависит ΠΎΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ умноТСния:
$$PRT \neq PTR$$, Ρ‚.ΠΊ.
$$RT \neq TR,$$
Π³Π΄Π΅ P β€” Ρ‚ΠΎΡ‡ΠΊΠ°, R β€” ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°, T β€” ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° пСрСноса.

ΠΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ произвСдСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ† позволяСт Π½Π΅ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° нСсколько ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Π° спСрва ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ прСобразования ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ ΡƒΠΆΠ΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ:
$$PRT = P(RT)$$

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ пСрСнос Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ (x, y, z):

1000
0100
0010
xyz1

Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси X Π½Π° ΡƒΠ³ΠΎΠ» a:

1000
0cos asin a0
0-sin acos a0
0001

Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси Y Π½Π° ΡƒΠ³ΠΎΠ» a:

cos a0-sin a0
0100
sin a0cos a0
0001

Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ оси Z Π½Π° ΡƒΠ³ΠΎΠ» a:

cos asin a00
-sin acos a00
0010
0001

ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ осям X, Y ΠΈ Z Π½Π° x, y ΠΈ z соотвСтствСнно:

z000
0y00
00x0
0001

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΠ²Π½Π°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° с Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠ³Π»Π°ΠΌΠΈ ΠΎΠ±Π·ΠΎΡ€Π° fovx ΠΈ fovy соотвСтствСнно:

ctg fovx/2000
0ctg fovy/200
00Zf/(Zf β€” Zn)0
00-Zn*Zf/(Zf β€” Zn)1

Π³Π΄Π΅ Zn β€” блиТняя z-ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ. Zf β€” дальняя z-ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ.

ПолСзно Π·Π½Π°Ρ‚ΡŒ

Π’ 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ прСобразования ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв,
ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ (ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ) ΠΌΠ°Ρ‚Ρ€ΠΈΡ† вращСния, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ
пСрСноса, ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру:

RxRyRz0
UxUyUz0
FxFyFz0
TxTyTz1

Π³Π΄Π΅ R β€” Π²Π΅ΠΊΡ‚ΠΎΡ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ оси X Π½ΠΎΠ²ΠΎΠΉ (Ρ‚.Π΅. Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ) систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… исходной. U ΠΈ F, соотвСтствСнно, направлСния осСй Y ΠΈ Z. ΠœΠΎΠ΄ΡƒΠ»ΠΈ этих Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ осям Π² Π½ΠΎΠ²ΠΎΠΉ систСмС. T β€” Π²Π΅ΠΊΡ‚ΠΎΡ€ пСрСноса, ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ исходной ΠΈ Π½ΠΎΠ²ΠΎΠΉ систСмы. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° 3Ρ…3, состоящая ΠΈΠ· Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² R, U ΠΈ F, Π·Π°Π΄Π°Π΅Ρ‚ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° чСтвСртая строка ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° пСрСнос.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *