Алгоритм преобразования 1-D-градиента в специальную форму 2-D-градиентаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Алгоритм преобразования 1-D-градиента в специальную форму 2-D-градиента

Сообщение Anonymous »

Предполагая, что существует одномерный массив/список, определяющий цветовой градиент, я хотел бы использовать его для создания двухмерного цветового градиента следующим образом:
Давайте простота: замените информацию о цвете одним числовым значением для примера одномерного массива/списка:

Код: Выделить всё

[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ]
Чтобы градиент продвигался по диагонали с продвижением наибольшего следующего значения по диагонали по всему массиву, я хотел бы преобразовать 1D-последовательность в 2D-массив с намеренно выбранной формой (т.е. ширина/высота, т. е. количество строк x количество столбцов, где строка * столбцы == длина массива одномерных градиентов) следующим образом:

Код: Выделить всё

[[  1  2  4 ]
[  3  6  7 ]
[  5  9 10 ]
[  8 12 13 ]
[ 11 14 15 ]]
или

Код: Выделить всё

[[  1  2  4  7 10 ]
[  3  6  9 12 13 ]
[  5  8 11 14 15 ]]
или начиная с последовательности:

Код: Выделить всё

[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
для

Код: Выделить всё

[[  1  2  4  7 ]
[  3  6  9 11 ]
[  5 10 13 14 ]
[  8 12 15 16 ]]
Существует ли готовый к использованию готовый модуль Python или C-библиотека, способная выполнить такое изменение формы массива, или этот особый случай необходимо запрограммировать вручную? И если необходимо кодирование циклов вручную, какой способ сделать это будет наиболее эффективным, поскольку последовательность, которую я хотел бы преобразовать, имеет размер 256³? Может быть, я уже нашел готовый к использованию код для такого изменения/преобразования в глубоком пространстве Интернета, который мне не удалось найти, спрашивая ни поисковые системы, ни LLM?


Подробнее здесь: https://stackoverflow.com/questions/785 ... -a-2-d-gra
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»