Pada kesempatan kali ini saya akan berbagi informasi menegnai materi grafika komputer yaiyi Interaksi
dengan Keyboard . Semoga bermanfaaat :)
- Pengertian Keyboard
Keyboard
merupakan unit input yang paling penting dalam suatu pengolahan data dengan
komputer. Keyboard dapat berfungsi memasukkan huruf, angka, karakter khusus
serta sebagai media bagi user (pengguna) untuk melakukan perintah-perintah
lainnya yang diperlukan, seperti menyimpan file dan membuka file. Penciptaan
keyboard komputer berasal dari model mesin ketik yang diciptakan dan
dipatentkan oleh Christopher Latham pada tahun 1868, Dan pada tahun 1887
diproduksi dan dipasarkan oleh perusahan Remington. Keyboard yang digunakanan
sekarang ini adalah jenis QWERTY, pada tahun 1973, keyboard ini diresmikan
sebagai keyboard standar ISO (International Standar Organization). Jumlah
tombol pada keyboard ini berjumlah 104 tuts. Keyboard sekarang yang kita kenal
memiliki beberapa jenis port, yaitu port serial, ps2, usb dan wireless.
Jenis-Jenis
Keyboard :
- QWERTY
- DVORAK
- KLOCKENBERG
Keyboard
yang biasanya dipakai adalah keyboard jenis QWERTY, yang bentuknya ini mirip
seperti tuts pada mesin tik. Keyboard QWERTY memiliki empat bagian yaitu :
- typewriter key
- numeric key
- function key
- special function key.
Fungsi dasar pembuatan animasi dengan
menggunakan KeyboardFunction
GLUTAPI
void APIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int
x, int y));
Dalam
penggunaan glutKeyboardFunc dimungkinkan untuk mendeteksi input dari keyboard.
Fungsi ini diletakkan pada fungsi main dari program, dan parameternya adalah
callback function yang telah didefinisikan berupa fungsi dengan 3 parameter,
seperti contoh di bawah ini.
void
myKeyboard(unsigned char key, int x, int y){
if(key == ‘a’) glTranslatef(4,0,0);
//seleksi tombol yang ditekan
}
void
mySpecialKeyboard(int key, int x, int y){
switch(key){
case GLUT_KEY_??? : …; break;
}
}
glutKeyboardFunc(myKeyboard);
//hanya memanggil fungsi myKeyboard
sedangkan untuk mendeteksi tombol-tombol keyboard yang
bersifat spesial seperti tombol F1, arah panah, Home, Enter, dsb dapat
menggunakan callback function.
glutSpecialFunc(mySpecialKeyboard);
//hanya memanggil fungsi mySpecialKeyboard
Contoh penerapan Interaksi keyboard ini adalah pada syntax berikut ini yang menampilkan perputaran pada baling-baling apabila menggunakan keyboard :
#include <stdlib.h>
#include <glut.h>
void Draw(void){
glBegin(GL_TRIANGLES);
glClear(GL_COLOR_BUFFER_BIT);
glVertex2d(0,0);
glVertex2d(-150,200);
glVertex2d(150,200);
glVertex2d(0,0);
glVertex2d(-150,-200);
glVertex2d(150,-200);
glEnd();
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.,0.,0.);
Draw();
glFlush();
}
void timer(int value){
//variable
update here
glutPostRedisplay();
glutTimerFunc(50,timer,0);
}
void myKeyboard(unsigned char key,int x,int y){
if(key
== 'k')
glRotatef(-10,0,0,1);
else if(key == 'l')
glRotatef(10,0,0,1);
}
void main(int argc, char **argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH |
GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(500,500);
glutCreateWindow("baling-baling");
gluOrtho2D(-320,320,-320,320);
glutDisplayFunc(display);
glutTimerFunc(50,timer,0);
glutKeyboardFunc(myKeyboard);
glutMainLoop();
}
|
Hasil Outputnya adalah sebagai berikut :
Keterangan :
Dari program diatas terdapat dua tampilan program baling baling secara clockwise dan unclockwise. Jika ditekan tombol k pada keyboard ditekan maka object akan bergerak clock wise seperti terlihat pada gambar. Jika ditekan tombol l pada keyboard ditekan maka object akan bergerak unclock wise seperti terlihat pada gambar tersebut. Interaksi antara program dengan keyboard dapat terjadi karena dalam glut terdapat fungsi yang dapat menghubungkan program dengan input device yaitu keyboard.
0 komentar:
Speak up your mind
Tell us what you're thinking... !