Ответы пользователя по тегу Математика
  • Как массив вокселей 16^3 разделить на массивы по 4*8*8 и получить один из них по id?

    i229194964
    @i229194964
    Веб разработчик
    #include <vector>
    
    const int voxel_size = 16;
    
    std::vector<short> get_voxels_from_chunk(short (*voxels)[voxel_size][voxel_size][voxel_size], int world_length, int chunk_size_x, int chunk_size_y, int chunk_size_z, int chunk_id) {
        std::vector<short> result;
        int chunk_count_x = world_length / chunk_size_x;
        int chunk_count_y = world_length / chunk_size_y;
        int chunk_count_z = world_length / chunk_size_z;
        int chunk_index_x = chunk_id % chunk_count_x;
        int chunk_index_y = (chunk_id / chunk_count_x) % chunk_count_y;
        int chunk_index_z = chunk_id / (chunk_count_x * chunk_count_y);
        int x_offset = chunk_index_x * chunk_size_x;
        int y_offset = chunk_index_y * chunk_size_y;
        int z_offset = chunk_index_z * chunk_size_z;
        for (int i = x_offset; i < x_offset + chunk_size_x; i++){
            for (int ii = y_offset; ii < y_offset + chunk_size_y; ii++){
                for (int iii = z_offset; iii < z_offset + chunk_size_z; iii++){
                    result.push_back(*(*(*(voxels + i) + ii) + iii));
                }
            }
        }
        return result;
    }
    
    int main() {
        short voxels[voxel_size][voxel_size][voxel_size]; // пример массива вокселей
        int world_length = voxel_size;
        int chunk_size_x = 4;
        int chunk_size_y = 8;
        int chunk_size_z = 8;
        int chunk_id = 3; // пример id чанка
        std::vector<short> chunk_voxels = get_voxels_from_chunk(&voxels, world_length, chunk_size_x, chunk_size_y, chunk_size_z, chunk_id);
        // обработка chunk_voxels
        return 0;
    }
    Ответ написан
    1 комментарий
  • Какой учебник порекомендуете?

    i229194964
    @i229194964
    Веб разработчик
    "Алгебра и начала анализа" авторы - Н. Я. Виленкин, А. С. Белкин, А. П. Никольский.
    "Математика. 5-11 классы" автор - С. М. Никольский.
    Математический анализ. Курс лекций" автор - В. А. Зорич.
    "Математика. Подготовка к ЕГЭ" авторы - Л. Н. Просвирнина, М. С. Шабунин, Е. Ю. Шабунина
    Ответ написан
    Комментировать
  • Как преобразовать спектрограмму в изображение?

    i229194964
    @i229194964
    Веб разработчик
    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.misc import imresize
    from matplotlib import cm
    
    # Преобразуем спектрограмму в log-шкалу и нормализуем значения
    Zxx_log = np.log10(np.abs(Zxx))
    Zxx_norm = (Zxx_log - Zxx_log.min()) / (Zxx_log.max() - Zxx_log.min())
    
    # Используем colormap 'viridis' для преобразования значений в цвета
    cmap = cm.get_cmap('viridis')
    Zxx_rgb = cmap(Zxx_norm)
    
    # Изменяем размер изображения до 128x128
    Zxx_resized = imresize(Zxx_rgb, (128, 128))
    
    # Переводим изображение в формат (3, 128, 128)
    Zxx_final = np.transpose(Zxx_resized, (2, 0, 1))
    
    # Выводим изображение
    plt.imshow(Zxx_final)
    plt.show()
    Ответ написан
    1 комментарий