Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Practical 11: Visualization of Volume and Animation with MATLAB, Summaries of Computational Physics

The practical aspects of visualizing volume and animation using MATLAB. It covers various functions such as contourslice, frame2im, im2frame, reducevolume, slice, smooth3, subvolume, and volumebounds. The document also explains how to create single slice planes and contours from volumetric data and how to display graphics or images in an animation using functions like getframe, movie, and comet3. The practical concludes with a summary of the functions used in volume visualization and animation.

Typology: Summaries

2020/2021

Available from 01/29/2023

anggerzhr
anggerzhr 🇮🇩

2 documents

1 / 11

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
KELAS A
PRAKTIKUM PEMROGRAMAN KOMPUTER DENGAN MATLAB
PRAKTIKUM 11
VISUALISASI VOLUME DAN ANIMASI
Nama : Angger Zufan Hanggara
NIM : M0221017
Nama Asisten : Arneta Gusnawati
Program Studi Fisika
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sebelas Maret
2022
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Practical 11: Visualization of Volume and Animation with MATLAB and more Summaries Computational Physics in PDF only on Docsity!

KELAS A

PRAKTIKUM PEMROGRAMAN KOMPUTER DENGAN MATLAB

PRAKTIKUM 11

VISUALISASI VOLUME DAN ANIMASI

Nama : Angger Zufan Hanggara NIM : M Nama Asisten : Arneta Gusnawati Program Studi Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret 2022

PEMBAHASAN

  1. Countourslice Tugas 11.1 Fungsi Penggunaan contourslice Fungsi dari contourslice pada matlab yaitu digunakan untuk memvisualisasikan gambar kontur dalam bidang irisan volume.Sintaks yang digunakan adalah sebagaib berikut: contourslice(X,Y,Z,V,xslice,yslice,zslice) sintaks di atas digunakan untuk menggambarkan kontur pada bidang sejajar sumbu x,y, dan z di titik-titik dalam vektor Sx, Sy, dan Sz. Array X,Y,dan Z menentukan koordinat untuk volume V dan harus kotak-kotak monoton dan 3D (seperti data yang dihasilkan oleh meshgrid). Warna pada setiap kontur ditentukan oleh volume V, yang harus berupa larik volume m-kali-n-kali-p. Tugas 11.2 Buatlah single slice plane berdasar data volumetrik dan buatlah kontur dari data tersebut, langkah dilakukan adalah membuat matriks X,Y,Z dan V dari flow data set. Buat kontur dari V dimana nilai z = 0. Program dalam Matlab dituliskan sebagai berikut: clc clear [X,Y,Z,V] = flow; zslice = 0; contourslice(X,Y,Z,V,[],[],zslice) grid on Output yang dihasilkan oleh program di atas adalah sebagai berikut: 0 1 2 3 4 5 6 7 8 9 10

0 1 2 3

  1. Movie Tugas 11.4 Fungsi movie Penggunaan fungsi movie adalah digunakan untuk menampilkan animasi atau memutar bingkai film yang direkam. Pada Matlab, sintaks untuk fungsi movie adalah sebagai berikut: movie(M) movie(M) digunakan untuk memutar film dalam matriks M sekali, menggunakan sumbu sebagai target default. movie(M,n) movie(M,N) digunakan untuk memutar film sebanyak N kali. Jika N negatif, setiap “permainan” satu kali maju dan satu kali mundur. Jika N adalah vektor, elemen pertaman adalah berapa kali pemutaran film dan elemen lainnya terdiri dari daftar bingkai yang akan diputar dalam film. movie(M,n,fps) movie(M,N,FPS) digunakan untuk memutar film pada frame per detik. Default jika FPS dihilangkan adalah 12 frame per detik. Mesin yang tidak dapat mencapai FPS yang ditentukan akan bermain secepat mungkin. movie(h,...) movie(h…) digunakan untuk memutar film di objek H, dimana H adalah pegangan untuk gambar atau sumbu. movie(h,M,n,fps,loc) movie(H,M,N,FPS,LOC) digunakan untuk menentukan lokasi pemutaran film, relatif terhadap sudut kiri bawah objek H dan dalam piksel, terlepas dari nilai properti Unit Objek. Tugas 11. Pada latihan berikut menggunakan getframe fungsi untuk melakukan perekaman fungsi vibrasi dan digunakan fungsi movie untuk melakukan animasi. Program Tugas 11. dituliskan sebagai berikut: figure Z = peaks; surf(Z) axis tight manual ax = gca; ax.NextPlot = 'replaceChildren'; loops = 40; F(loops) = struct('cdata',[],'colormap',[]); for j = 1:loops X = sin(jpi/10)Z; surf(X,Z) drawnow F(j) = getframe; end movie(F,2) Pada baris pertama, fungsi figure digunakan untuk menampilkan output program kedalam jendela figure. Pada baris kedua, fungsi peaks merupakan fungsi dari dua variabel dimana diperoleh dengan menerjemahkan dan menskalakan distribusi Gaussian yang berguna untuk mendemonstrasikan mesh, surf, pcolor, contour, dll. Perintah ‘axis tight manual’ digunakan agar batas tidak berubah saat menggunakan hold

on. ‘ax = gca’ berfungsi untuk menyesuaikan axis ketiga simulasi grafik animasi. ‘ax.NextPlot = replaceChildren’ digunakan untuk menambahkan objek baru ke gambar dan replace children digunakan untuk menghapus semua objek anak sumbu sebelum menambahkan objek grafik baru. ‘loops = 40’ digunakan untuk pengulangan sebanyak 40 kali. Perintah pada baris ke 8 berfungsi untuk memberi warna pada grafik. Pada baris 9 hingga 14 terdapat struktur program for sebagai pengulangan. Pada baris 13 yaitu pada fungsi j menggunakan fungsi getframe yang digunakan untuk mengembalikan bingkai film. Dalam getframe bingkai adalah snapshot dari sumbu saat ini. Fungsi getframe biasanya digunakan dalam loop for untuk merakit array frame film untuk memutaran menggunakan movie. Pada baris terakhir, fungsi movie digunakan untuk menampilkan animasi dari program yang telah dibuat/dituliskan sebelumnya. Output yang dihasilkan pada program tersebut adalah sebagai berikut:

  1. Frame2im Fungsi frame2im digunakan untuk mengubah frame movie ke dalam bentuk image. Sintaks yang digunakan pada matlab adalah sebagai berikut: RGB = frame2im(F) [X,map] = frame2im(F) Tugas 11.6: Membuat contoh program frame2im Program dituliskan sebagai berikut: clc clear surf(peaks); F = getframe; RGB = frame2im(F); figure imshow(RGB); Output yang dihasilkan pada program di atas adalah dua gambar dari animasi yang telah dibuat pada jendela figure 1 dan jendela figure 2. 0 10 20 30 40 50 0 20 40 60

0 2 4 x 10-

Tugas 11.7: Membuat contoh program menggunakan sintaks im2frame Program dituliskan sebagai berikut: load mandrill figure image(X) colormap(map) axis off F(8) = struct('cdata',[],'colormap',[]); for j = 1: q = 2^(9-j); [Y,newmap] = imapprox(X,map,q,'nodither'); F(j) = im2frame(Y,newmap); end movie(F,2,3) Fungsi load pada baris pertama digunakan untuk menampilkan data dari MAT-file ke dalam workspace. Fungsi figure digunakan untuk menampilkan output program ke dalam jendela figure. Fungsi image(x) digunakan untuk menampilkan matriks X sebagai gambar. Sintaks colormap(map) digunakan untuk mengatur peta warna gambar saat ini ke MAP. Fungsi axis off digunakan untuk menonaktifkan pelabelan sumbu, tanda centang dan latar belakang. Pada program baris ke 6 digunakan untuk membuat file yang menggambarkan efek pengurangan jumlah warna pada gambar.Fungsi for pada baris 7 hingga 11 digunakan sebagai pengulangan hingga nilai j = 8. Perintah ‘[Y,newmap] = imapprox(X,map,q,'nodither');’ digunakan untuk mengembalikan gambar yang diindeks Y dengan peta baru colormap yang memiliki paling banyak n warna. Perintah F(j) = im2frame(Y,newmap); digunakan untuk mengubah gambar yang diindeks x dan peta colormap menjadi bingkai f. Fungsi movie digunakan untuk menampilkan gambar dalam animasi. Output yang dihasilkan pada program di atas adalah sebagai berikut:

  1. Comet Tugas 11.8: Fungsi dari comet Fungsi comet3 digunakan untuk menampilkan lintasan 3D mirip komet berdasarkan vektor X/Y/Z. Pada matlab, sintaks penulisan adalah sebagai berikut: comet3(z) comet3(x,y,z) comet3(x,y,z,p) comet3(ax,...) Tugas 11.9: Membuat program menggunakan fungsi comet Program dibuat seperti berikut: clc clear t = linspace(-10pi,10pi); comet3((cos(2t)).^2,(sin(2t)).^2,t) Output yang dihasilkan berupa animasi yang bergerak seperti lintasan comet dalam bentuk tiga dimensi.

Reducevolume Digunakan untuk mengurangi jumlah elemen dalam volume dengan mempertahankan setiap elemen Rxth di arah x, setiap elemen Ryth di arah y dan setiap elemen Rzth di arah z. shrinkfaces Digunakan untuk mengurangi area permukaan. Slice Digunakan utnuk menggambarkan irisan untuk data volumetric Smooth3 Digunakan untuk memperhalus data ada 3 D. Subvolume Digunakan untuk mengekstrak bagian dari kumpulan data volume. Volumebounds Digunakan untuk mengatur batas warna untuk data volume.

KESIMPULAN

Dari percobaan praktikum 11 dapat disimpulkan:

  1. Pada visualisasi volume terdapat beberapa fungsi yang digunakan untuk membuat bentuk 3D antara lain: flow, isocolors, isocaps, isonormals, isosurface, reducepatch, reducevolume, slice, smooth3, subvolume, volumebounds.
  2. Untuk menampilkan grafik atau gambar dalam sebuah animasi dapat digunakan beberapa fungsi pada Matlab antara lain: getframe, movie, dan comet3.