Bab II Studi Pustaka

advertisement
Bab II
Studi Pustaka
Bab ini merupakan bunga rampai hasil studi atas sejumlah literatur yang
telah digunakan dalam pembuatan perangkat lunak
penentuan marker pada
pengambilan gambar tanpa marker dengan menggunakan metode kurva Bezier
untuk analisa gait. Pada awalnya akan dijelaskan mengenai pengertian gait,
termasuk gait sederhana yang digunakan, disusul dengan pembahasan tentang
metode interpolasi kurva Bezier. Bab ini kemudian akan ditutup dengan sekilas
penjelasan tentang perangkat lunak yang digunakan yaitu visual basic.
2.1
Pengertian gait
Gait oleh L.Lee et al adalah identifikasi ciri-ciri seseorang yang
dideskripsikan oleh tinggi, berat, panjang tungkai dan postur tubuh. Gait adalah
cara berjalan yang khas pada seseorang [15].
Gait sangat diperlukan untuk diagnosa patho-mechanic yang berhubungan
dengan penyakit musculoskeletal. Gait saat ini telah digunakan untuk rehabilitasi
dan tindakan pencegahan terhadap penyakit musculoskeletal yaitu untuk :
•
Monitor perawatan untuk pasien terluka dan pasien yang memiliki
ketidakmampuan
o Apakah perawatan yang diberikan berhasil
•
Monitor orang yang beranjak tua
o Mendeteksi penurunan kemampuan bergerak
o Memulai latihan sebagai tindakan pencegahan
•
Monitor pergerakan olahragawan [13].
2.1.1
•
Sejarah pengambilan gambar
Eadweard Muybridge (1830-1878)
Meneliti pergerakan kuda, terdiri dari 12 kamera
dengan mekanisme
control elektrik untuk mengoperasikan tiap kamera. 12 gambar tersebut diambil
8
dengan periode 0.5 detik. Penelitian ini membuktikan teori lintasan Leland
Stanford bahwa saat kuda berlari disana ada moment suspensi dimana tidak ada
kaki yang menyentuh tanah [13].
Gambar 2.1 Gambar pergerakan kuda yang diambil dari 12 kamera [13]
•
Etinne Jules Marey (1830-1904)
Orang pertama yang menganalisa pergerakan manusia dan binatang
dengan menggunakan video [13].
Gambar 2.2 Analisa pergerakan dengan menggunakan video [13]
Tabel 2.1 Tabel posisi riset penelitian gait tanpa marker
Penelitian oleh
Metode
Hasil
Meyer,
•
Klasifikasi gait dengan menggunakan HMM
Josef Posl, dan
•
Untuk mendapatkan lintasan dari bagian- dilakukan adalah
Dorthe
Klasifikasi yang
Heinrich
bagian tubuh, dibuat statu sistem gait berjalan, berjalan
Niemann
otomatis
•
pincang, berlari,
Sistem ini tidak menggunakan marker pada dan melompat [5]
tubuh pasien
•
Untuk mendapatkan bagian-bagian tubuh.
Lintasan yang diperoleh dan klasifikasinya
didasarkan pada perhitungan statistik.
9
Penelitian oleh
Metode
Hasil
Liang Wang,
•
Klasifikasi gait dari analisis silhouette nya.
Mengenali cara
Tieniu Tan,
•
Subyek dapat dideteksi dengan algoritma
berjalan seseorang
Senior Member,
pengurangan antara gambar subyek dengan
yang ditujukan
IEEE, Huazhong
latar belakangnya sehingga didapatkan
untuk identifikasi
Ning, and
gambat siluetnya.
secara biometric
Weiming Hu
•
Gambar siluet diekstraksi dan diproses dengan keunggulan
dengan
menggunakan
perhitungan tanpa perlu
bersentuhan dengan
Eigenspace
subyek [4].
Oliver Jacobs
•
School of
Mengembangkan suatu automatic gait
Mengenali gerak-
recognition from pre-recorded and
gerik seseorang
Electronics and
•
real-time video.
yang ditujukan
Computer
•
Menggunakan PCA principle
untuk keamanan
Science,
•
component analysis untuk mengkonversi
atau security.
University of
gambar menjadi matrik dari pixel-pixelnya.
Southampton,
Corazza S,
•
Mündermann L.
Pengambilan gambar tanpa marker untuk Rangkaian
dan
proses
mengestimasi gaya kinematik pada tubuh.
lari
dapat diukur secara
and Andriacchi
•
Menggunakan sedikitnya 8 kamera
T.
•
Gambar yang diperoleh dikonstruksi menjadi kuantitatif
berjalan
gambar 3D yang merepresentasikan tubuh
pasien.
J. Saboune and
•
F. Charpillet,
Pengambilan gambar tanpa marker untuk Menampilkan posisi
3D dari beberapa
analisa gait.
•
Menggunakan algoritma Interval Particle posisi
Filtering,
yang
berfungsi
untuk berjalan. [6]
mereorganisasi konfigurasi model untuk
mendapatkan lintasan gerakan tubuh.
10
tubuh
saat
2.1.2
Peralatan dan teknik yang dipakai untuk mengukur gait
Pengukuran gait meliputi 2 bagian, yaitu pengukuran pergerakan tubuh
yang disebut sebagai pengukuran kinematik dan pengukuran gaya yang bekerja
selama tubuh bergerak yang disebut dengan pengukuran secara kinetik.
Pengukuran secara kinematik meliputi beberapa sistem dan metode,
diantaranya [12]:
1) Photography, yang merupakan metode paling dasar untuk merekam pergerakan
tubuh dan frekuensi cahaya kamera digunakan untuk membantu analisa gait pada
sebuah gambar.
2) Video recording, yang menggunakan satu atau beberapa kamera dapat
digunakan untuk mengukur sudut dan kecepatan pergerakan tubuh. Metode ini
telah dibantu dengan penggunaan software untuk menganalisa gait sehingga
sistem ini menjadi sangat simpel dan efisien. Bahkan dengan metode ini dapat
digunakan untuk menganalisa 3 dimensi.
3) Passive marker systems, dengan menggunakan marker yang memantulkan
cahaya dapat menghasilkan pengukuran yang akurat dengan menggunakan
sedikitnya 8 kamera. Kamera mengirimkan sinyal infra red yang mendeteksi
marker pada tubuh. Gait dapat dianalisa berdasarkan sudut dan waktu delay yang
dihasilkan antara sinyal infra red sesungguhnya dan sinyal infra red hasil pantulan
dari marker.
4) Active marker systems, hampir sama dengan passive marker hanya saja yang
digunakan adalah active marker. Marker ini dapat memancarkan sinyal infra red
dari dirinya sendiri. Sinyal ini kemudian ditangkap oleh kamera dan digunakan
untuk analisa gait. Keunggulan dari sistem ini adalah, active marker memiliki
frekuensi sendiri sehingga dia punya identitas sendiri, sehingga tidak perlu adanya
proses penentuan marker dan sistem ini mengurangi ketidak-terdeteksinya marker
yang terjadi pada sistem passive marker.
Oleh karena itu, modern laboratorium untuk analisa gait terdiri dari
beberapa kamera yang diletakkan mengelilingi lintasan treadmill yang terhubung
ke komputer. Pasien diberi marker pada titik anatomi, pasien berjalan sesuai
lintasan atau berjalan pada treadmill dan komputer mengkalkulasi lintasan dari
tiap markernya.
11
Pengukuran secara kinetik, biasanya dilakukan pada laboratorium yang
memiliki lantai dengan transducer beban (load transducers) , atau lebih dikenal
dengan force-plates, yang mengukur gaya aksi reaksi terhadap ground. Sebagai
tambahan, untuk mengetahui gaya dinamik pada setiap bagian tubuh, maka dapat
digunakan persamaan hukum Newton sehingga komputer dapat mengkalkulasi
gaya aksi reaksi pada setiap bagian otot dan total moment gaya pada setiap gait
cycle [12].
2.1.3
Parameter gait
Gait cycle adalah aktivitas yang terjadi antara heel strike pada satu
ekstremitas dan heel strike berikutnya pada sisi yang sama [2].
Gait Cycle :
1.Stance Phase :- initial contact/heel strike
- load response/foot flat
- single leg stace/mid stance
- terminal stance/heel off
- pre swing/toe off
2.Swing Phase :- initial swing/acceleration
- mid swing
- terminal swing/deceleration
Gambar 2.3 Fasa dari gait cycle [13]
Pergerakan tubuh manusia digambarkan sebagai berikut, kaki berfungsi
sebagai penggerak sedangkan tubuh berfungsi sebagai penumpang.
12
Gambar 2.4 Gambar bagaimana tubuh bergerak [13]
Pada saat stance, tungkai kaki yang menopang badan menggerakkan telapak
kaki berputar maju. Pada saat swing, bagian tungkai itu sendiri yang maju ke
posisi selanjutnya untuk menopang berat badan.
Gambar 2.5 Gerakan tungkai saat stance dan swing [13]
Gambar 2.6 Lintasan pergerakan lutut [13]
13
Gambar 2.7 Pergerakan kaki untuk mengangkat center of gravity [13]
Gambar 2.8 Pergerakan ujung kepala sebesar 9.5 cm [13]
2.1.4
Aplikasi klinis
Kelainan pada cara berjalan merefleksikan adanya penyakit dalam tubuh
pasien. Penelitian tentang cara berjalan ini dapat mendiagnosa penyakit dan
selanjutnya membantu rehabilitasi pasien agar dapat kembali normal. Selain itu,
penelitian gait juga dapat digunakan untuk olahragawan professional dalam
melakukan latihan untuk meningkatkan performanya.
14
Gambar 2.9 Penelitian gait juga dapat untuk meningkatkan performa
olahragawan professional [13]
Gambar 2.10 Pengukuran gait secara kinetik dan kinematik [13]
Gait saat ini juga digunakan sebagai alat identifikasi secara biometrik,
yang dilihat dari pengukuran pergerakan tubuh yang disebut sebagai pengukuran
kinematik parameter yang digunakan yaitu panjang langkah, lebar langkah,
kecepatan berjalan, dan juga kinematik tubuh seperti perputaran sendi, rata-rata
sudut pada lutut, dan lain sebagainya. Ada korelasi yang tinggi antara panjang
langkah dan tinggi badan seseorang. Sedangkan jika dilihat dari pengukuran
secara kinetik, maka didapatkan pengukuran gaya dan juga moment yang bekerja
15
selama tubuh bergerak. Pengukuran secara kinetik, biasanya dilakukan pada
laboratorium yang memiliki lantai dengan transducer beban (load transducers) ,
atau lebih dikenal dengan force-plates, yang mengukur gaya aksi reaksi terhadap
ground. Sebagai tambahan, untuk mengetahui gaya dinamik pada setiap bagian
tubuh, maka dapat digunakan persamaan hukum Newton sehingga komputer dapat
mengkalkulasi gaya aksi reaksi pada setiap bagian otot dan total moment gaya
pada setiap gait cycle [12].
2.2
Perangkat lunak untuk pengukuran gait
Hasil pengambilan gambar gait dari pasien dapat diproses dengan
menggunakan berbagai macam software. Seperti penelitian yang dilakukan oleh
Liang Wang, Tieniu Tan, Senior Member, IEEE, Huazhong Ning, and Weiming
Hu
dengan topic
Silhouette Analysis-Based Gait Recognition for Human
Identification, mendapatkan klasifikasi gait dari analisis silhouette nya dengan
menggunakan metode pengolahan citra.
Masih banyak Software lain yang juga dapat digunakan untuk membuat
sistem pengukuran gait salah satunya adalah Visual Basic.NET atau biasa disebut
Visual Basic 8 yaitu suatu teknologi pemrograman Microsoft yang dapat
digunakan untuk membuat aplikasi di lingkungan kerja yang berbasis Windows.
Visual Basic.NET dilihat dari sejarahnya, dikembangkan dari bahasa Basic
sehingga aturan penulisan bahasanya pun sama dengan bahasa Basic [2].
Visual Basic.NET dilihat dari sejarahnya, dikembangkan dari bahasa
BASIC sehingga aturan penulisannya pun sama dengan bahasa BASIC. Akan
tetapi, oleh karena adanya tuntutan perkembangan teknologi maka bahasa Visual
Basic.NET memiliki beberapa tambahan yang tidak ada di bahasa BASIC aslinya.
Bahasa
VB.NET
tercatat
banyak
digunakan
karena
kemudahan
dan
keunggulannya. Selanjutnya akan dijelaskan mengenai bahasa Visual Basic.NET
2.2.1
Syntax Basic
Bahasa Basic di Visual Basic.NET tidak mengalami banyak perubahan
dibandingkan dengan bahasa Basic aslinya. Suatu contoh adalah pendeklarasian
variabel, variable merupakan objek yang dapat menerima pemasukan nilai-nilai
16
tertentu. Dalam pemrograman fungsi variable penting sekali untuk menampung
nilai dan mengalokasikan untuk keperluan tertentu. Di VB.NET cara untuk
mendeklarasikan variabel yaitu dengan menggunakan perintah DIM. Contoh
mendeklarasikan variabel di VB.NET adalah:
Dim MarkerID As Integer
Dim Flag As Boolean
Dim MoviePath As String
Kata Dim merupakan kata yang digunakan untuk mendeklarasikan nama
variable. Ketika perintah Dim dieksekusi oleh compiler maka perintah Dim
tersebut memesan tempat di memori untuk menyimpan data-data yang akan
dialokasikan ke nama variabel tersebut.Varibel ada 2 jenisnya, yaitu variabel lokal
dan variabel member. Variabel lokal adalah variabel yang dideklarasikan di dalam
prosedur, sementara variabel member adalah tipe data visual basic. Variabel ini
dideklarasikan pada level modul, di dalam sebuah class, struktur atau modul.
Akan tetapi tidak dideklarasikan di dalam prosedur yang terdapat di dalamnya.
Konsekuensi pembedaan variabel lokal dan variabel member terletak pada
ruang lingkupnya. Variabel yang dideklarasikan lokal tidak akan bisa diakses di
luar prosedur, sementara variabel yang dideklarasikan sebagai member bisa
diakses di seluruh prosedur.
2.2.2
Tipe data Visual Basic.NET
Tipe data VB.NET yang dapat dikenali oleh Visual Basic.NET terlihat
dalam tabel berikut:
17
Tabel 2.2 Tipe data pada VB.NET [2]
Common
Tipe Visual
basic
language
Nominal
runtime
storage
type
allocation
Jangkauan nilai
structure
Tergantung
Boolean
Boolean
platform
True or False
implementasi
Integer
Int32
4 bytes
-2,147,483,648 hingga
2,147,488,647
-1.79769313486231570E+308
hingga
Double
-4.94065645841246544E-324
(double
precision
Double
8 bytes
floating
untuk nilai negative
4.94065645841246544E-324
hinngga
point)
1.79769313486231570E+308
untuk nilai positif
-3.4028235E+38 hingga
Single
-1.401298E-45 untuk nilai
(single
negative
precision
Single
4 bytes
1.401298E-45 hingga
floating
3.4028235E+38 untuk nilai
point)
positif
String
(variable
length)
Object
String
(class)
Object
(class)
4 bytes
4 bytes
18
0 hinggga 2 miliar karakter
unicode
Semua tipe data bisa dimasukkan
ke tipe object
2.2.3
Run time library
Jika dibandingkan dengan bahasa C versi standar (C ANSI) yang hanya
memiliki 32 keywords, jumlah keywords di VB.NET jauh lebih banyak. Hal ini
karena tuntutan pemrograman di jaman sekarang lebih tinggi. Namun keyword
saja belum cukup, VB.NET juga menyediakan Run Time Library yang dapat
digunakan untuk menyediakan Function, Method, dan properties yang dapat
digunakan dalam pemrograman.
2.2.4
Method
Dalam pemrograman berorientasi objek, sebuah objek bisa memiliki
method. Analoginya seperti objek manusia yang bisa memiliki method makan,
minum, dan lain-lain. Objek-objek di VB.NET juga demikian, misalnya objek
tombol yang bisa di klik atau texbox yang bisa diisikan nama objek-objek lainnya.
Kode contohnya adalah:
Texbox.Enable = True
Button1.Visible = False
2.2.5
Operator VB.NET
Semua bahasa pemrograman memiliki operator, begitu pula VB.NET. Ada
7 jenis operator di VB.NET, yaitu:
•
Operator Aritmatika
Operator ini digunakan untuk melakukan perhitungan aritmatika, contohnya :
Operator (*) yang digunakan untuk melakukan kegiatan perkalian. Perkalian
di VB.NET dilakukan dengan tanda bintang.
•
Operator Assignment
Operator-operator assignment digunakan untuk memberikan nilai terhadap
sebuah abjek, contohnya:
Operator (=) yang digunakan untuk mengisikan sebuah nilai ke dalam variabel
atau properti. Operator ini akan sering digunakan dalam kegiatan
pemrograman.
19
•
Operator Perbandingan
Operator pembanding digunakan untuk membandingkan dua operand atau
lebih. Hasilnya berupa variable Boolean True atau False, contohnya:
Operator (<) yang digunakan untuk melihat apakah nilai pertama lebih kecil
dari nilai kedua.
•
Operator Penyambungan
Operator penyambung digunakan untuk menyambung dua operand bertipe
string,contohnya:
Operator (&) yang digunakan untuk menyambung dua buah ekspresi string.
•
Operator Logical
Operator logical digunakan untuk operasi logika, contohnya:
Operator AND yang digunakan untuk melakukan operasi konjugasi antara dua
operand bernilai boolean
•
Operator Bit Shift
Operator ini berguna untuk pemindahan aritmatika pada sebuah bit,
contohnya:
Operator (>>) yang digunakan untuk melakukan pergeseran aritmatika bit
shift ke arah kanan
•
Operator Lainnya
Operator yang digunakan untuk melakukan operasi-operasi selain yang
tersebut diatas, contohnya:
AddressOfOperator yang digunakan untuk menciptakan prosedur yang
mendelegasikan instance yang mereferensikan prosedur spesifik tertentu.
2.2.6
Fungsi di VB.NET
VB.NET memiliki beberapa fungsi penting yang memungkinkan VB.NET
digunakan menangani kebutuhan pemrograman berbagai bidang, contoh dari
fungsi-fungsi tersebut adalah:
•
Fungsi math
Hampir semua bahasa pemrograman memiliki fungsi untuk menangani fungsifungsi matematika. Fungsi math yang ada di VB.NET antara lain:
20
1. Mencari nilai absolut : Abs
2. Fungsi trigonometri : Atan, Cos, Sin, dan Tan
3. Perhitungan umum : Exp, Log, Sgr
4. Random generador : Randomize, pnd
5. Mencari tanda dari sebuah operador : Sign
6. Melakukan konversi numerik : Fix, int
•
Fungsi tanggal dan waktu
Selain memiliki fungsi matematika, VB.NET juga memililiki fungsi
tanggal dan waktu. Banyak fungsi tanggal dan waktu yang dapat
digunakan, salah satu contohnya adalah:
Memunculkan tanggal atau waktu sekarang : Now, Today, TimeOfDay
2.2.7
Prosedur
Prosedur di VB.NET memegang peranan yang sangat penting. Sebuah kode
akan dieksekusi seandainya berada di dalam sebuah prosedur. Sebuah prosedur
pada umumnya melakukan kegiatan tertentu sesuai dengan algoritma yang
diberikan oleh programer. Prosedur tidak mengembalikan nilai tertentu.
2.2.8
Percabangan
Percabangan di VB.NET menggunakan beberapa alternative kegiatan:
•
IF-Then
If-Then adalah bentuk percabangan paling sederhana karena hanya terdiri dari
satu buah kondisi. Jika kondisi tersebut benar maka kode yang terdapat di
dalamnya akan dieksekusi. Sementara jika tidak benar atau bernilai False
maka kode di dalamnya akan langsung di lewati dan tidak dieksekusi.
•
If-Then-Else
If-Then_Else merupakan bagian perintah yang memungkinkan percabangan
sederhana. Dalam bahasa Indonesia If-Then-Else dapat diartikan jika begini
maka begitu atau tidak jika maka seperti ini.
21
2.2.9
Looping
Semua bahasa pemrograman pasti memiliki fasilitas untuk melakukan
pengulangan/looping. Dalam VB.NET terdapat beberapa keywords yang dapat
melakuakn pengulangan dengan cepat.
•
Doo-loop
Doo-loop digunakan untuk mengeksekusi pernyataan selama kondisi boolean
bernilai True atau hingga kondisinya bernilai True.
•
While-endwhile
While-endwhile hampir mirip dengan Doo-loop, digunakan untuk melakukan
pengulangan hingga syarat pengulangan bernilai True.
•
For-each
For-each juga dapat digunakan untuk melakukan pengulangan untuk setiap
statements.
•
For-next
For-next dapat digunakan tanpa harus menggunakan kata each. Umumnya
digunakan untuk statement yang dimulai dari pertama sampai akhir dengan
step tertentu.
2.2.10 Proyek VB
Proyek VB adalah sebuah istilah yang berkaitan erat dengan cara
mengelompokkan berbagai objek di VB.NET yang menyusun sebuah program.
Proyek VB disimpan dalam bentuk file XML dengan ekstensi .vbproj. File inilah
yang disarankan untuk dibuka apabila ingin mengedit sebuah form atau komponen
proyek.
2.2.11 Video Frame Reader
Untuk mengekstraksi video menjadi frame diperlukan metode Video Frame
Reader. Metode ini dapat digunakan untuk GetFrameFromVideo, GetVideoSize
dan SaveFrameFromVideo pada aplikasi VB. Dengan menambahkan reference
JockerSoft.Media.dll dan Interop.DexterLib.dll pada proyek VB.NET yang dibuat.
Metode ini dapat bekerja pada jenis file .avi dan .wmv juga file .mpg. Tetapi
metode ini tidak dapat bekerja pada file .dvr-ms, cara ini tidak dapat mengektraksi
22
langsung dari rekaman televisi. Kode yang digunakan untuk mengekstraksi video
menjadi frame:
Imports DexterLib
Imports JockerSoft.Media
Imports System.Drawing
Gambar 2.11 Source code dari video frame reader
2.3
Kurva Bezier
Pierre Etienne Bezier adalah seorang insinyur dari Prancis yang
menemukan Kurva Bezier yang sekarang ini banyak digunakan untuk membantu
disain grafis dengan menggunakan komputer. Lahir di Paris, Bezier mendapatkan
gelar sarjana dari teknik mesin École Nationale Supérieure d'Arts et Métiers pada
tahun 1930. Kemudian menperoleh gelar master dari teknik elektro École
Supérieure d'Électricité pada tahun 1931, dan memperoleh gelar doktor pada
jurusan matematika pada tahun 1977 dari Universita Paris. Dia bekerja untuk
Renault dari tahun 1933-1975, dimana dia menciptakan sistem UNISURF CAD
CAM. Dari tahun 1968-1979 dia menjadi Profesor dari Production Engineering
pada Conservatoire National des Arts et Métiers. Pada tahun 1985 dia dikenal
dengan ACM SIGGRAPH dengan penghargaan `Steven A. Coons' untuk
kontribusinya dalam bidang komputer grafis dan teknik interaktifnya.
Kurva Bezier banyak digunakan untuk memodelkan kurva yang halus pada
aplikasi grafik di komputer. Metode dari kurva Bezier adalah dengan
mengevaluasi beberapa titik yang saling berdekatan dan memerkirakan urutan
bagian-bagian garis. Meski demikian, metode ini tidak memberikan jaminan
bahwa keluaran yang dihasilkan cukup halus, karena kemungkinan titik-titik yang
berdekatan terpisah cukup jauh. Sebaliknya, dengan metode ini akan didapat
banyak titik sehingga kurva yang dihasilkan cenderung linier. Cara yang umum
dipakai adalah pengulangan per bagian, dimana titik-titik referensi di periksa
untuk mendapatkan perkiraan garis dengan toleransi kecil. Atau dengan cara lain,
yaitu membagi kurva menjadi 2 bagian, 0 ≤ t ≤ 0.5 dan 0.5 ≤ t ≤ 1, kemudian
diterapkan prosedur pengulangan untuk stiap bagian [16].
23
2.3.1
Kurva linier Bezier
Jika terdapat 2 titik, yaitu P0 dan P1, kurva linier Bezier berupa garis lurus
dengan persamaan antara 2 titik yang diberikan sebagai berikut:
B(t) = P0 + (P1- P0)t = (1-t) P0 + t P1 , t Є [0,1]
(2.1)
t adalah fungsi dari kurva linier Bezier yang dapat mendiskripsikan sejauh
mana B(t) dari P0 dan P1. Sebagai contoh ketika t=0.25, B(t) adalah seperempat
jalan dari titik P0 menuju P1. Dimana t dari 0 sampai 1, B(t) mendiskripsikan
kurva dari P0 menuju P1.
t=0.25
Gambar 2.12 B(t) adalah seperempat jalan dari titik P0 menuju P1 [16] .
2.3.2
Kurva kwadrat Bezier
Kurva kwadrat Bezier adalah jejak garis yang diperoleh dari fungsi B(t)
dengan masukan 3 titik , yaitu P0 , P1 , dan P2 [16] .
B(t) = (1-t)2 P0 + 2t(1-t)P1 + t2 P2 , t Є [0,1]
Kurva kwadrat Bezier juga merupakan sebuah
(2.2)
bagian dari parabola.
Kurva kwadrat Bezier dan kurva kubik Bezier merupakan kurva dengan derajat
tinggi yang umum digunakan. Untuk kurva kwadrat Bezier, dapat menghasilkan
titik Q0 dan Q1 dengan t bergerak dari 0 ke 1.
•
Poin Q0 diperoleh dari pergerakan P0 ke P1 dan mendiskripsikan sebuah
kurva liner Bezier.
•
Poin Q1 diperoleh dari pergerakan P1 ke P2 dan mendiskripsikan sebuah
kurva liner Bezier.
24
•
Point B(t) diperoleh dari pergerakan Q0 ke Q1 dan mendiskripsikan
sebuah kurva kwadrat Bezier.
Gambar 2.13 Bentuk dari kurva kwadrat Bezier [16]
2.3.3
Kurva kubik Bezier
Empat poin yaitu P0, P1, P2 , dan P3 pada bidang 3 dimensi menberikan
sehuah kurva kubik Bezier. Kurva mulai dari P0 menuju P1 dan sampai pada P3
yang datang dari arah P2. Biasanya dia tidak melewati P1 atau P2 , poin ini hanya
berfungsi untuk menunjukan informasi arah. Jarak antara P0 dan P1 ditentukan
dari seberapa jauh kurva bergerak ke arah P2 sebelum sampai di P3. Persamaan
kurva kubik Bezier adalah :
B(t)=(1-t)3P0 + 3t(1-t)2P1 + 3t2(1-t)P2 + t3P3 , t Є[0,1]
(2.3)
Modern sistem imaging, seperti PostScript, Asymptote dan Metafont
menggunakan Bézier splines yang tersusun dari kurva kubik Bezier untuk
menggambar bentuk kurvanya. Untuk orde yang lebih tinggi, diperlukan poinpoin tambahan, seperti pada kurva kubik Bezier yang tersusun dari poin Q0, Q1 ,
dan Q2 yang mendeskripsikan kurva linier Bezier, dan poin R0 & R1 yang
mendiskripsikan kurva kubik Bezier:
25
Gambar 2.14 Bentuk dari kurva kubik Bezier [16]
26
Download