В Python вы не можете делать арифметику указателей. То, что вы пытаетесь сделать, работает только для C / C ++.
С обычным списком Python:
>>> array = [1, 2, 3, 4]
>>> array
[1, 2, 3, 4]
>>> array + 2
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: can only concatenate list (not "int") to list
С массивами NumPy:
>>> import numpy
>>> a = numpy.array([1, 2, 3])
>>> a + 2
array([3, 4, 5])
Посмотрите, как и то, что вы хотите: запуск массива в определенной позиции.
Я думаю, у вас есть два основных варианта:
- Не используйте чередующиеся массивы. Это имеет одно преимущество: когда вам нужно только обновить вершины (как в анимации костей), вам не нужно обновлять координаты текстуры.
- Использование ломтиков может работать на вас.
Как это:
>>> a = numpy.array(range(10))
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> a[3:]
array([3, 4, 5, 6, 7, 8, 9])
Объедините это с правильным шагом, вы, вероятно, можете заставить его работать.