C言語の3次元配列の使い方についてわかりやすく詳しく解説

目次から探す

3次元配列の応用例

3次元配列は、多くの場面で利用されます。

ここでは、画像処理と3Dグラフィックスの2つの応用例について説明します。

画像処理における3次元配列の利用

画像処理では、画像をピクセル単位で扱います。

一つのピクセルには、赤、緑、青の3つの色成分があります。

このような情報を効率的に扱うために、3次元配列が使用されます。

例えば、幅がWピクセル、高さがHピクセルの画像を考えます。

この画像を表現するために、3次元配列を使用します。

配列の要素は、各ピクセルの色成分を表します。


#include <stdio.h>
#define WIDTH  640
#define HEIGHT 480
int main() {
    // 画像データを格納する3次元配列
    unsigned char image[HEIGHT][WIDTH][3];
    // 画像データの初期化
    for (int y = 0; y < HEIGHT; y++) {
        for (int x = 0; x < WIDTH; x++) {
            // 赤成分
            image[y][x][0] = 255;
            // 緑成分
            image[y][x][1] = 0;
            // 青成分
            image[y][x][2] = 0;
        }
    }
    // 画像データの表示
    for (int y = 0; y < HEIGHT; y++) {
        for (int x = 0; x < WIDTH; x++) {
            printf("(%d, %d, %d) ", image[y][x][0], image[y][x][1], image[y][x][2]);
        }
        printf("\n");
    }
    return 0;
}

上記のコードでは、幅640ピクセル、高さ480ピクセルの赤色の画像を生成しています。

3次元配列 image の要素には、各ピクセルの赤、緑、青の成分が格納されています。

画像データの初期化と表示のために、2重のループを使用しています。

3Dグラフィックスにおける3次元配列の利用

3Dグラフィックスでは、オブジェクトの形状や色を表現するために3次元配列が使用されます。

例えば、立方体を表現するために、3次元配列を使用することがあります。


#include <stdio.h>
#define SIZE 10
int main() {
    // 立方体の形状を表現する3次元配列
    int cube[SIZE][SIZE][SIZE];
    // 立方体の初期化
    for (int z = 0; z < SIZE; z++) {
        for (int y = 0; y < SIZE; y++) {
            for (int x = 0; x < SIZE; x++) {
                if (x == 0 || x == SIZE - 1 || y == 0 || y == SIZE - 1 || z == 0 || z == SIZE - 1) {
                    cube[z][y][x] = 1;  // 壁の部分を1で表現
                } else {
                    cube[z][y][x] = 0;  // 内部の部分を0で表現
                }
            }
        }
    }
    // 立方体の表示
    for (int z = 0; z < SIZE; z++) {
        for (int y = 0; y < SIZE; y++) {
            for (int x = 0; x < SIZE; x++) {
                printf("%d ", cube[z][y][x]);
            }
            printf("\n");
        }
        printf("\n");
    }
    return 0;
}

上記のコードでは、一辺の長さが10の立方体を生成しています。

3次元配列 cube の要素には、各位置の壁の有無を表す値が格納されています。

立方体の初期化と表示のために、3重のループを使用しています。

これらの例では、3次元配列を使用することで、画像処理や3Dグラフィックスのような応用分野で効率的にデータを扱うことができます。

3次元配列の応用はさまざまであり、他の分野でも幅広く活用されています。

1 2 3

この記事のページ一覧
  1. 現在のページ
目次から探す