Render.ru

Двумерные Массивы

Dimonn

Активный участник
Рейтинг
15
#1
Подскажите где взять информацию по работе с двумерными массивами (matrix)
В хелпе информации чень мало. Пересмотрел много скриптов но тоже не нашел.
 

Dimonn

Активный участник
Рейтинг
15
#2
К примеру, если взять массив виртексов в PolyPlane. В одномерном массиве он будет выглядеть как последовательность [0.......n] и обращаться к нему можно только в прямом или обратном порядке. Мне необходимо разбить этот массив на два, это строки и столбцы, и иметь возможность назначать массиву виртексов в каждой строке определенные параметры. И все это в цикле, перебирая столбцы.
 

sanctus

Активный участник
Рейтинг
15
#3
ну тут же очень просто.
в геймдеве вообще все пишут в одномерный массив. так быстрее работает.
вы просто запоминаете сколько элементов в строке например четыре.
предположим вам нужна третья строка, второй столбец.
Код:
____1__2__3__4
1| 00 01 02 03
2| 04 05 06 07
3| 08 09 10 11
4| 12 13 14 15
это элемент номер [09]
как найти его индекс в одномерном массиве?

n - строка
m - столбец
Num - количество элементов в строке

(n-1)*Num+(m-1)
вычитаем единичку потому как нумерация в программировании начинается с нуля а не с одного

(3-1)*4+(2-1) = 9

используя честные матрицы вы всегда будете ограничены тем, что они не расширяемы. то есть вам нужно заранее знать её размерность, и добавить в нее новые строки уже не получится.

а в одномерном массиве это делается очень просто.

если вам такой вариант не нравится, то прдлагаю посмотреть в сторону питона, в нем есть специальные типы объектов, позволяющие записывать данные на ваш вкус.
 
Сверху