Jumat, 20 Maret 2020

MATLAB Grafik 3D Plots Surf, Mesh, Contour


Untuk menggambar grafik 3-dimensi diperlukan suatu koordinat tiga pasangan yaitu x, y, dan z atau biasa disebut array. Dengan tiga pasangan data dan panjangnya harus sama. Selain dari pada itu dalam mengatur grafik 3-dimensi maka digunakan instruksi untuk menampilkan grafik dengan mempertimbangkan sudut pandang untuk melihatnya.

Fungsi-fungsi dalam visualisasi data 3D
Mesh fungsi yang digunakan dalam memvisualisasikan data dalam bentuk permukaan tiga dimensi disebut fungsi mesh. Fungsi ini sering disebut sebagai grafik jala yang terdapat empat titik data terdekat dalam ruang 3D.

Surf sering disebut sebagai grafik permukaan.Fungsi ini digunakan untuk memvisualisasikan data dalam bentuk permukaan 3D dengan pewarnaannya berdasarkanbobot nilai grid. 

Contour ini digunakan untuk membuat gariskontur dari data 3D. Garis-garis kontur ini dibuat denganteknik interpolasi dari titik-titik terdekat.

kita akan membuat tampilan dengan membuat Axes, Panel (Pict Types) yang di dalam panel terdapat Push Button1 (Suft), Push Button2 (Mesh), Push Button3 (Contour), Static Text, Pop-Up Menu (peaks, membrane, sinc untuk membuat popup menu edit dibagian String)

maka tampilan awal akan seperti :
Setelah mengetahu fungsi dari masing-masing  yang ada diatas, maka langsung mengisi script sebagai berikut :

function varargout = edan(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @edan_OpeningFcn, ...
                   'gui_OutputFcn',  @edan_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end

function edan_OpeningFcn(hObject, eventdata, handles, varargin)
handles.peaks = peaks(35);
handles.membrane = membrane;
[x, y] = meshgrid(-8:0.5:8);
r = sqrt(x.^2 + y.^2) +eps;
sinc = sin(r)./r;
handles.sinc = sinc;
handles.current_data = handles.peaks;
surf(handles.current_data);
handles.peaks = peaks(35);
handles.membrane = membrane;
[x, y] = meshgrid(-8:0.5:8);
r = sqrt(x.^2 + y.^2) + eps;
sinc = sin(r)./r;
handles.sinc = sinc;
handles.current_data = handles.peaks;
surf(handles.current_data);

handles.output = hObject;

guidata(hObject, handles);

function varargout = edan_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;

function pushbutton1_Callback(hObject, eventdata, handles)
surf(handles.current_data);

function pushbutton2_Callback(hObject, eventdata, handles)
mesh(handles.current_data);

function pushbutton3_Callback(hObject, eventdata, handles)
contour(handles.current_data);

function popupmenu2_Callback(hObject, eventdata, handles)
val = get(hObject, 'Value');
str = get(hObject, 'String');
switch str{val}
    case 'peaks' % User selects peaks
        handles.current_data = handles.peaks;
    case 'membrane' % User selects membrane
        handles.current_data = handles.membrane;
    case 'sinc' % User selects sinc
        handles.current_data = handles.sinc;
end
guidata(hObject, handles);

function popupmenu2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

Setelah  mengisi script diatas dengan benar maka langsung saja di run , tapi sebelum di run harap terlebih dahulu di cek kembali scriptnya  ya agar sukses sewaktu di run oke langsung saja .

begini tampilan setelah run
 ini tampilan saat di Run lalu klik bagian static text pilih 'peaks' dan hasil diatas adalah 'peaks' dengan pop up menu ' surf '.

 gambar diatas adalah hasil dari 'peaks' dengan  pop up menu mesh yah.
 dan gambar diatas adalah hasil dari 'peaks' dengan pop up menu countour yah.

selanjutnya kita pilih static text pilih 'membrane' lalu pada pop up menu nya seperti yang diatas yah
begini tampilannya  :
 gambar diatas adalah hasil dari static text 'membrane' dengan pop up menu 'surf'.
 gambar diatas adalah hasil dari static text 'membrane' dengan pop up menu 'mesh'.
 gambar diatas adalah hasil dari static text 'membrane' dengan pop up menu 'contour.

selanjutnya static text sinc dengan pop up menu yang sama seperti yang diatas sebagai berikut :
gambar diatas adalah hasil dari static text 'sinc' dengan pop up menu 'surf'.
 gambar diatas adalah hasil dari static text 'sinc' dengan pop up menu 'mesh'.
gambar diatas adalah hasil dari static text 'sinc dengan pop up menu 'contour'.
selesai .

sekian dari saya semoga bermanfaat.


Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

MATLAB Grafik 3D Plots Surf, Mesh, Contour

Untuk menggambar grafik 3-dimensi diperlukan suatu koordinat tiga pasangan yaitu x, y, dan z atau biasa disebut array.  Dengan tiga pasang...