Membuat Grid 3D Cube

Pemrograman matriks kali ini belajar mengenai cara membuat 3D grid cube dengan MATLAB. Sistem 3D cube ini dalam geofisika bermanfaat untuk membuat model tomografi 3 dimensi. Bila dalam tomografi 2 dimensi setiap blok dinyatakan sebagai luasan, maka dalam tomografi 3 dimensi setiap blok kecil dinyatakan sebagai suatu volume. Dalam membuat pemodelan setiap blok diberi nilai properties tertentu misal slowness (kebalikan dari kecepatan, 1/v), rock quality (selaras dengan kebalikan atenuasi, 1/a), atau sifat-sifat fisis lainnya.

Sebelum melangkah lebih jauh mengisi nilai-nilai property dari setiap cube dan melakukan inversi, ada baiknya belajar cara membuat cube terlebih dahulu. Kali ini dengan menggunakan program MATLAB (R2010a). Berikut ini syntax dan penjelasan pemrogramannya:

clear all;
clc;
% Data diskrit dari -4 s.d 4 dengan step 1 untuk koordinat X,Y,Z
x = -4:1:4; y = -4:1:4; z = -4:1:4;

% pengaturan komponen X
[X1 Y1 Z1] = meshgrid(x([1 end]),y,z);
% mengatur dimensi X, Y, Z vektor
X1 = permute(X1,[2 1 3]);
Y1 = permute(Y1,[2 1 3]);
Z1 = permute(Z1,[2 1 3]);
% mengosongkan nilai
X1(end+1,:,:) = NaN;
Y1(end+1,:,:) = NaN;
Z1(end+1,:,:) = NaN;

% pengaturan komponen Y
[X2 Y2 Z2] = meshgrid(x,y([1 end]),z);
% mengosongkan nilai
X2(end+1,:,:) = NaN;
Y2(end+1,:,:) = NaN;
Z2(end+1,:,:) = NaN;

% pengaturan komponen Z
[X3 Y3 Z3] = meshgrid(x,y,z([1 end]));
% mengatur dimensi X, Y, Z vektor
X3 = permute(X3,[3 1 2]);
Y3 = permute(Y3,[3 1 2]);
Z3 = permute(Z3,[3 1 2]);
% mengosongkan nilai
X3(end+1,:,:) = NaN;
Y3(end+1,:,:) = NaN;
Z3(end+1,:,:) = NaN;

% membuat garis yang menghubungkan antar sesama komponen vektor
h = line([X1(:);X2(:);X3(:)], [Y1(:);Y2(:);Y3(:)], [Z1(:);Z2(:);Z3(:)]);

% membuat gambar prespektif
set(h, 'Color',[0.5 0.5 1], 'LineWidth',1, 'LineStyle','-')
axis off
view(3), axis vis3d
camproj perspective, rotate3d on

Penulis: Muh.Ahsan

Geoscience application specialist, technical evangelist, music lover, movie buff, and active blogger.

Tinggalkan Tanggapan

This site uses Akismet to reduce spam. Learn how your comment data is processed.