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